在JavaScript中,我们可以使用replace()方法来用一个字符串替换另外一个字符串的某一部分。

语法:

字符串名.replace(原字符串, 替换字符串) 字符串名.replace(正则表达式, 替换字符串)

说明:

replace()方法有2种使用形式:一种是直接使用字符串来替换;另外一种是使用正则表达式来替换。不管是哪种形式,“替换字符串”都是第2个参数。

举例:直接使用字符串替换

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script> var str = "I love javascript!"; var str_new = str.replace("javascript", "lvye"); document.write(str_new); </script> </head> <body> </body> </html>

浏览器预览效果如图所示。

分析:

str.replace(“javascript”,“lvye”)表示用"lvye"替换str中的"javascript"。

举例:使用“正则表达式”替换

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script> var str = "I am loser, you are loser, all are loser."; var str_new = str.replace(/loser/g, "hero"); document.write(str_new); </script> </head> <body> </body> </html>

浏览器预览效果如图所示。

分析:

str.replace(/loser/g, “hero”)表示使用正则表达式/loser/g结合替换字符串"hero",来将字符串str中的所有字符“loser”替换成“hero”。

有些小伙伴会觉得str.replace(/loser/g, “hero”)不就等价于str.replace(“loser”, “hero”)吗?其实这两个是不一样的,大家可以测试一下。前者会替换所有的“loser”,而后者只会替换第1个“loser”。

在实际开发中,当我们直接使用字符串无法实现时,记得考虑使用正则表达式。正则表达式比较复杂,如果想要深入了解,可以看一下绿叶学习网开源的正则表达式教程。由于内容过多,这里就不详细展开了。