我想在 javascript 中使用 replace()
替换文本中的几个单词,我该怎么做?
例如,如果我想将“Dave Chambers, David Chambers, Will Smith”替换为“Jackie Chan”/strong>',无论它们是大写还是小写,我是否必须每次都对同一个字符串变量重复 replace()
方法,即
var str = sometext.innerHTML;
str.replace('Dave Chambers', 'Jackie Chan');
str.replace('David Chambers', 'Jackie Chan');
str.replace('Will Smith', 'Jackie Chan');
最佳答案
将正则表达式与交流发电机 (|
) 和不区分大小写的修饰符 (/i
) 结合使用:
var str = sometext.innerHTML,
reg = /Dave Chambers|David Chambers|Will Smith/i;
str = str.replace(reg, "Jackie Chan");
一个更短、更复杂的正则表达式可以是:
/Dav(?:e|id) Chambers|Will Smith/i;
如果可能出现超过 1 次,则添加全局修饰符 (g
) 以替换所有:
/Dav(?:e|id) Chambers|Will Smith/ig;
关于javascript - 如何替换javascript中的几个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4784595/