第一次发现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方法”,意味着我们需要专注于JavaScript语言中的字符串处理能力。 在JavaScript中,传统的replace()方法并不支持直接替换所有匹配项,而是需要使用正则表达式来实现全局替换。这就是为什么在...
因此,如果需要实现replaceAll效果,即替换字符串中所有匹配的子串,可以使用正则表达式配合replace()方法来实现。 正则表达式中的全局匹配标志(g)用于指示匹配操作应该在输入字符串中进行全局搜索,即查找到所有...
除了直接在代码中使用replace方法以外,有时候,开发者可能会在浏览器的地址栏中直接执行JavaScript代码,以便快速验证代码片段。例如: ```javascript javascript:alert("abcabcabc".replace(/a/g, "ad")) ``` 在...
总结一下,`replace()`方法和`replaceAll()`函数在JavaScript中用于字符串替换,其中`replace()`仅替换第一个匹配项或根据正则表达式全局替换,而`replaceAll()`则始终进行全局替换,简化了全局替换的操作。...
在描述中,我们了解到本文将直接分享实现replaceAll函数的代码,这对需要该功能的JavaScript开发者来说十分有用。开发者们在实现自己的replaceAll方法时,需要考虑到兼容性问题和正则表达式的使用。 从给出的部分...
总结来说,JavaScript中的replace方法是一个非常强大且灵活的字符串操作工具,它不仅可以完成简单的文本替换工作,还能通过正则表达式和回调函数实现复杂的文本处理功能。虽然没有直接的replaceAll方法,但通过正则...
在jQuery库中,`replaceAll()`方法是一个非常实用的函数,它允许我们用匹配的DOM元素或HTML字符串替换现有的DOM元素。这个方法对于动态更新页面内容和实现复杂的DOM操作非常有用。接下来,我们将深入探讨`replaceAll...
有个静态页面 <span u00a0id=ab>abcde</span><span u00a0id=ab>abcde</span><span u00a0id=ab>abcde</span><span u00a0id=ab>abcde</span> 能否通过js实现,IE浏览时的代码被替换为 </></></></> 无...
如果不可用或不String.prototype.replaceAll调用其“ shim”方法对String.prototype.replaceAll进行填充。 该软件包实现了接口。 它在ES3支持的环境中工作,并符合。 最常见的用法: const assert = require ( '...
另外,一些现代JavaScript引擎已经支持`replaceAll`方法,如V8引擎(Chrome, Node.js等),因此如果你的代码运行在支持`replaceAll`的环境中,可以直接使用而无需扩展。 以上就是关于JavaScript中如何替换字符串中...
### JavaScript 实现全局匹配并替换的方法 #### 一、引言 在JavaScript中,`replace()` 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。然而,默认情况下,`replace()` 只会替换...
以上就是关于JavaScript实现全局匹配并替换方法的知识总结。通过内置的replace函数配合正则表达式的全局匹配标志“g”,以及可能的多行标志“m”,可以快速完成全局替换任务。此外,通过扩展String原型添加自定义的...
在ESNext中,引入了新的String.prototype.replaceAll()方法,该方法可以实现全量字符串替换。例如: `const s = 'hello. hello. hello.';` `s.replaceAll('hello. ', 'A');` 该方法的优点是可以实现全量替换,不...
以下是一些常用的JavaScript函数和方法,它们在日常开发中非常实用。 1. 字符串处理: - `cutstr(str, len)`:这个函数用于截取字符串,根据指定长度`len`对字符串进行截断,并在末尾添加省略号。它考虑了中文字符...
这个实现首先使用`URLEncoder.encode()`方法将字符串`s`编码为UTF-8格式,然后使用`replaceAll()`方法进行额外的转换,以确保与JavaScript的`encodeURIComponent`函数行为一致。 对于解码,我们有`...