如何替换 JavaScript 中所有出现的字符串
答案:使用 JavaScript replace()
方法
您可以结合使用 JavaScript replace()
方法和正则表达式来查找和替换任何字符串中出现的所有单词或子字符串。
让我们看一个例子来了解这个方法的基本工作原理:
<script>
var myStr = 'freedom is not worth having if it does not include the freedom to make mistakes.';
var newStr = myStr.replace(/freedom/g, "liberty");
// 打印修改后的字符串
document.write(newStr);
</script>
但是,如果字符串来自未知/不受信任的来源,例如用户输入,则必须在将其传递给正则表达式之前对其进行转义。 以下示例将向您展示在 JavaScript 中查找字符串并将其替换为另一个字符串的更好方法。
<script>
/* 定义转义用户输入的函数被视为
正则表达式中的文字字符串 */
function escapeRegExp(string){
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
/* 定义函数以查找并用替换字符串替换特定术语 */
function replaceAll(str, term, replacement) {
return str.replace(new RegExp(escapeRegExp(term), 'g'), replacement);
}
/* 测试我们的 replaceAll() 函数 */
var myStr = 'if the facts do not fit the theory, change the facts.';
var newStr = replaceAll(myStr, 'facts', 'statistics')
// 打印修改后的字符串
document.write(newStr);
</script>
FAQ 相关问题解答
以下是与此主题相关的更多常见问题解答:
Advertisements