關於 js中replace 特殊符號 ‘.’ 的問題


問題: 字符串轉數組,但是分割點在‘.’ ,需要保留每個后綴的 ‘.’ + 類型

解決:

let videoType = '.avi.rmvb.rm.asf.divx.mpg.mpeg.mpe.wmv.mp4.mkv.vob'

videoType.replace(/[.]/g, '\,.') // 替換掉所有的. 為 ,.

videoType.split(',') // 根據,分割 得到最終數組

 

進階: 上述雖然實現但是第一個一定會分離出一個空數組,可以封裝為一個方法

1 function getArrayFromString (str, substr) {
2   let newStr = str.replace(/[.\\[\]{}()|^$?*+]/g, '\,' + substr)
3   console.log(newStr)
4   let newArray = newStr.split(',')
5   return newArray.filter(function (n) { return n })
6 }

弊端: 統一替換了所有特殊字符,所有字符串內的特殊字符應該由適當的限制,弊端很大,聊勝於無。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM