关于 js中replace 特殊符号 ‘.’ 的问题
问题: 字符串转数组,但是分割点在‘.’ ,需要保留每个后缀的 ‘.’ + 类型
解决:
let videoType = '.avi.rmvb.rm.asf.divx.mpg.mpeg.mpe.wmv.mp4.mkv.vob'
videoType.replace(/[.]/g, '\,.') // 替换掉所有的. 为 ,.
videoType.split(',') // 根据,分割 得到最终数组
进阶: 上述虽然实现但是第一个一定会分离出一个空数组,可以封装为一个方法
function getArrayFromString (str, substr) {
let newStr = str.replace(/[.\\[\]{}()|^$?*+]/g, '\,' + substr)
console.log(newStr)
let newArray = newStr.split(',')
return newArray.filter(function (n) { return n })
}
弊端: 统一替换了所有特殊字符,所有字符串内的特殊字符应该由适当的限制,弊端很大,聊胜于无。
关于 js中replace 特殊符号 ‘.’ 的问题的更多相关文章
- js中replace用法
js中replace的用法 replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则 ...
- js中的特殊符号含义
一. !! js中的!! var o ={flag:4}; var test = !!o.flag; console.log(test); // true 二.~~,<< (~~(Mat ...
- js中replace的回调函数使用。
这只是一个小问题,但是之前并没有发现.这个问题就是replace的第二个函数是支持回调函数的. var ext = new RegExp('f','g'); 1.str.replace(ext ,1) ...
- js中replace的用法【转】
1.replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则表达式对象(RegExp ...
- js中replace的正则替换
temp: video":"\t<ul class=\"g-list tabview-cont on\">\t\r\n\t\t<li clas ...
- JS中replace()用法举例
语法: string.replace(regexp,replacement) 参数: regexp:声明了要替换的模式的RegExp对象.如果该参数是一个字符串,则将它作为要检索的直接量文本模式,而不 ...
- JS中replace替换全部的正确应用
一般使用 var str = "test-test-test"; str = "test-test-test".replace("test" ...
- js中replace的用法(两种常用举例,还有好多用法不一一列举)
1.替换特定字符 <html><body> <script type="text/javascript"> var str="Visi ...
- js中replace的用法
replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则表达式对象(RegExp)也 ...
随机推荐
- windows 安装docker报错:Error checking TLS connection: ssh command error: command : ip addr show
今天安装docker部署的时候总是再报这个错误. 报错的原因是初始化的时候出错了. 在docker 安装目录下有一个文件,如下图所示 将它复制到你电脑用户名目录下生成.docker 的文件夹中,如下图 ...
- Unity优化之贴图
默认情况下当你把图片导入到unity中时,unity会自动把图片转换成最适合当前平台的压缩格式.如果你有一些特殊的需求,unity也提供了覆盖默认压缩格式的方法,如下图 在图片的Inspector窗口 ...
- 【medium】78. Subsets
求集合不重复的子集: 下面python的写法很好啊! class Solution(object): def subsets(self, nums): """ :type ...
- 【python】面向对象编程之@property、@setter、@getter、@deleter用法
@property装饰器作用:把一个方法变成属性调用 使用@property可以实现将类方法转换为只读属性,同时可以自定义setter.getter.deleter方法 @property&@ ...
- Linux从入门到入门
一. 前言 首先,在你的Windows系统上要想有linux系统,那就必须先安装一款软件,这里提供的是14.15的,还有ISO镜像:VMware-workstation 安装VMware:略 新建虚拟 ...
- gardner 算法matlab实现
% 仿真4比特原始数据与星座图的编码映射过程: % 完成16QAM信号的调制解调: % 基带信号符号速率 ps =1Mbps: % 成形滤波器的滚降因子 a=0.8: % 载波信号频率fc=2MHz ...
- Lesson 1-1
1.1常见难记的几种运算符 1.1.1 除运算 ‘/’ 除运算的结果为小数,即浮点数. >>> 10/3 3.3333333333333335 >>> 10/2 5 ...
- oracle Data Modeler 使用教程
由于 powerdesigner 的版权问题.公司要求集体换成 oracle Data Modeler .免费版就够用,哈哈.这有很详细的入门教程,看一看吧: 官方正版教程 ,特详细,只是英文的,也只 ...
- 记录vue项目上线遇到的一些问题
1. 静态资源路径不对,在开发模式下正常,打包到服务器上的时候,发现静态资源全部请求不到 原因:开发模式下,本地静态服务器直接从项目目录直接起的,跟static是同目录,写绝对路径没问题,直接loca ...
- Canal使用小结
Canal使用小结 之前公司存在mysql数据同步mongo的需求,可以有多种实现方式,比如硬编码,发送消息等.公司选择的是Canal中间件,最近有空来研究下他的使用方式,对于mysql数据变更监听有 ...