JavaScript 字符串怎么替换

在网页开发里,我们经常要修改页面上的文字——比如把用户输入的“北京”改成“首都”,或者把重复出现的错别字“树稍”统一换成“树梢”,这时候就会用到字符串替换。JavaScript里的替换功能就像文字编辑里的“查找替换”工具,只是它能自动跑在代码里,不用手动点按钮。

我们先从最常用的基础替换说起,它的核心是replace()方法。你可以把它理解成“找第一个匹配的关键词,换成新内容”。比如你在做一个个人简介的页面,用户填的是“我喜欢吃苹苹”,你想把错的“苹苹”改成“苹果”,代码就可以这么写:

JavaScript 字符串怎么替换

`javascript

let userIntro = "我喜欢吃苹苹";

let correctedIntro = userIntro.replace("苹苹", "苹果");

console.log(correctedIntro); // 输出:我喜欢吃苹果

`

不过要注意,基础替换只会改第一个匹配的内容。如果你的内容是“苹苹很可爱,苹苹是水果”,用上面的代码只会改第一个“苹苹”,第二个还是错的,这时候就需要进阶用法了。

全局替换:把所有匹配内容都换掉

如果要替换所有相同的文字,得给replace()加个“全局标记”——g。就像你在文字编辑里选“全部替换”一样。还是刚才的例子,把用户输入里所有的“苹苹”都改成“苹果”:

`javascript

let userIntro = "苹苹很可爱,苹苹是水果";

let correctedIntro = userIntro.replace(/苹苹/g, "苹果");

console.log(correctedIntro); // 输出:苹果很可爱,苹果是水果

`

这里的/苹苹/g是用正则表达式写的,简单理解就是“找所有叫‘苹苹’的内容”。如果你的内容里有大小写区分的问题,比如“Apple”和“apple”都要改,还能加i标记,变成/apple/gi,这样不管大小写都会被替换。

替换内容:不只是文字,还能插入变量

有时候替换的内容不是固定的,需要动态生成,比如把用户的名字插进去。比如你做一个欢迎语,把“你好,用户”改成“你好,张三”,就可以用变量当替换内容:

`javascript

let userName = "张三";

let welcomeText = "你好,用户";

let personalizedText = welcomeText.replace("用户", userName);

console.log(personalizedText); // 输出:你好,张三

`

还有更灵活的用法,比如替换的时候根据匹配的内容做变化,比如把数字“1”“2”换成“第1名”“第2名”,可以用函数当替换值,这就像“找到内容后先处理再替换”,适合复杂的场景,不过日常用前面两种基本就够了。

最后要提醒大家一个小坑:如果替换的内容是特殊字符,比如?、*这些,得加转义符,不然会出问题。不过日常写普通的文字替换,只要注意是字符串还是正则的区别,基本不会踩坑。

上一篇 JavaScript 如何做深拷贝