在JavaScript中替换一个字符串的所有出现次数(附代码)

52 阅读1分钟

最终大家都遇到了这样的情况:JavaScript的替换函数,在JavaScript字符串基元上是可以使用的,但它只替换了匹配词的一次出现:

const text = 'Hello World';
const newText = text.replace('o', 'ö');
console.log(newText);// "Hellö World"

在这里,我想向你简单介绍一下如何用两种不同的方法来替换JavaScript中的所有出现。第一种方法是使用正则表达式来寻找带有全局标志的所有匹配项:

const text = 'Hello World';
const newText = text.replace(/o/g, 'ö');
console.log(newText);// "Hellö Wörld"

如果没有全局标志,正则表达式将只匹配一个出现。另一种方法是JavaScript的replaceAll函数,它是JavaScript字符串基元的内置函数,但还不能用于所有浏览器

const text = 'Hello World';
const newText = text.replaceAll('o', 'ö');
console.log(newText);// "Hellö Wörld"

虽然replaceAll还没有完全可用,但你可以使用regex版本的replaceAll和全局标志g以及JavaScript的替换版本来替换一个字符串的所有出现。