本文所分享的知识点是【JS中实现replaceAll的方法(实例代码)】,欢迎您喜欢我爱IT技术网所分享的教程、知识、经验或攻略,下面是详细的讲解。
JS中实现replaceAll的方法(实例代码)
第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.
而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。
replace()
The replace() method returns the string that results when you replace text matching its first argument
(a regular expression) with the text of the second argument (a string).
If the g (global) flag is not set in the regular expression declaration, this method replaces only the first
occurrence of the pattern. For example,
var s="Hello. Regexps are fun.";s=s.replace(/\./, "!"); // replace first period with an exclamation pointalert(s);
produces the string “Hello! Regexps are fun.” Including the g flag will cause the interpreter to
perform a global replace, finding and replacing every matching substring. For example,
var s="Hello. Regexps are fun.";s=s.replace(/\./g, "!"); // replace all periods with exclamation pointsalert(s);
yields this result: “Hello! Regexps are fun!”
所以可以用以下几种方式.:
string.replace(/reallyDo/g, replaceWith);
string.replace(new RegExp(reallyDo, 'g'), replaceWith);
string:字符串表达式包含要替代的子字符串。
reallyDo:被搜索的子字符串。
replaceWith:用于替换的子字符串。
<script type="text/javascript">
String.prototype.replaceAll=function(reallyDo, replaceWith, ignoreCase) {
if (!RegExp.prototype.isPrototypeOf(reallyDo)) {
return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith);
} else {
return this.replace(reallyDo, replaceWith);
}
}
</script>
关于JS中实现replaceAll的方法(实例代码)的相关讨论如下:
相关问题:replaceall方法如何用java代码实现
答:这是String里实现的原码,用到了正则。正则里的实现就比较复杂了。 public String replaceAll(String s, String s1) { return Pattern.compile(s).matcher(this).replaceAll(s1); } >>详细
相关问题:js中的replace方法不起作用
答: 这里没有写接收,你是应该换了后 替换原来的变量 odivStr = odivStr.replace...... >>详细
相关问题:js手写实现 jquery的replaceall方法,怎么实现?
答:String.replaceall=function (oldstr,newstr){ var oldlength =this.length; var ret =this.replace(oldstr,newstr); if(ret.length >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
