给定一个类似“Test abc test test abc test test test abc test test abc”的字符串,替换第一次出现的使用 string.replace('abc', '') 的“abc”是不够的。此问题解决如何替换 JavaScript 中出现的 所有 字符串。
现代解决方案(ECMAScript 2021 及更高版本):
对于现代浏览器支持 ECMAScript 2021 规范的浏览器,您可以使用 String.replaceAll() 方法:
<code class="javascript">str = str.replaceAll('abc', '');</code>
旧版浏览器解决方案:
对于缺少String.replaceAll(),可以使用以下自定义函数:
<code class="javascript">function replaceAll(str, find, replace) { return str.replace(new RegExp(escapeRegExp(find), 'g'), replace); } function escapeRegExp(str) { return str.replace(/[.*+?^${}()|[\]\]/g, '\$&'); // $& means the whole matched string }</code>
这种模式经过多次细化,最终形成了上面的replaceAll()函数,它通过 pre 在 find 参数中容纳字符串参数- 处理它们以转义特殊字符。
以上是如何在 JavaScript 中替换所有出现的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!