js,replace() 和 正则表达式(regular expression)
repalce() 只能替换字符串中的匹配到的第一个字符或者字符串
正则表达式 替换多个字符或者字符串
注意:一些数字型的字符串使用replace() 时要确保是字符串,而不是数字。
转换方法: str = num.toString(); str = num + "";
定义正则表达式:
-
var regExp = new RegExp(pattern, attributes);
-
var regExp = /pattern/attributes;
示例:
1 var resExp1 = str.replace(/blue/gi, "red"); 3 var resExp2 = /blue|house|car/gi; 5 var resExp3 = new RegExp(/blue|house3|car3/,"gi"); 7 var isFlag = resExp3.test(string); // return true or false
常用修饰符
- i: 执行对大小写不敏感的匹配。(ignoreCase)
- g: 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。(global)
- m: 执行多行匹配(如果 pattern 是正则表达式,而不是字符串,则必须省略该参数)。(multiline)
RegExp 对象方法
- exec: 检索字符串中指定的值。返回找到的值,并确定其位置。
- test: 检索字符串中指定的值。返回 true 或 false。
自定义 replaceAll() 方法:
1 function replaceAll(str, find, replace) { 2 return str.replace(new RegExp(find, 'g'), replace); 3 }
其他方法:
1 str.split(search).join(replacement);
相关链接: