replace() 方法介绍
- 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
- 语法:stringObject.replace(regexp/substr,replacement)
- regexp/substr 必需。规定子字符串或要替换的模式的 RegExp 对象。
请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。 - replacement 必需。一个字符串值。规定了替换文本或生成替换文本的函数。
这个方法,只能替换目标字符串中第一个匹配的字符串。
如果要全部替换的话,JS 没有提供replaceAll这样的方法。怎么办呢???
总结一下,有以下三种方式:
1、 正则表达式 :str.replace(/oldString/g,newString)
str.replace(/hello/g,"javascript")
- g 的意义是:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
2、正则表达式 :str.replace(new RegExp(oldString,“gm”),newString)
str.replace(new RegExp("hello","gm"),"javascript")
- g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
- m 执行多行匹配。
3、增加String 对象原型方法 replaceAll
String.prototype.replaceAll = function(s1,s2){
return this.replace(new RegExp(s1,"gm"),s2);
}
- 这个是在使用replaceAll的js中添加此段代码即可。