关于 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