JavaScript 字符串怎么替换
在网页开发里,我们经常要修改页面上的文字——比如把用户输入的“北京”改成“首都”,或者把重复出现的错别字“树稍”统一换成“树梢”,这时候就会用到字符串替换。JavaScript里的替换功能就像文字编辑里的“查找替换”工具,只是它能自动跑在代码里,不用手动点按钮。
我们先从最常用的基础替换说起,它的核心是replace()方法。你可以把它理解成“找第一个匹配的关键词,换成新内容”。比如你在做一个个人简介的页面,用户填的是“我喜欢吃苹苹”,你想把错的“苹苹”改成“苹果”,代码就可以这么写:

`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名”,可以用函数当替换值,这就像“找到内容后先处理再替换”,适合复杂的场景,不过日常用前面两种基本就够了。
最后要提醒大家一个小坑:如果替换的内容是特殊字符,比如?、*这些,得加转义符,不然会出问题。不过日常写普通的文字替换,只要注意是字符串还是正则的区别,基本不会踩坑。