在JavaScript中替换字符串/字符的所有实例的最快方法是什么?while, for循环,正则表达式?


当前回答

像这样使用正则表达式对象

var regex = new RegExp(' ' ', 'g'); STR = STR .replace(regex, '\ ");

它将取代所有出现的“into”。

其他回答

像这样使用正则表达式对象

var regex = new RegExp(' ' ', 'g'); STR = STR .replace(regex, '\ ");

它将取代所有出现的“into”。

最简单的方法是使用带有g标志的正则表达式来替换所有实例:

str.replace(/foo/g, "bar")

这将把字符串str中出现的所有foo替换为bar。如果你只有一个字符串,你可以像这样将它转换为RegExp对象:

var pattern = "foobar",
    re = new RegExp(pattern, "g");

你可以使用以下方法:

newStr = str.replace(/[^a-z0-9]/gi, '_');

or

newStr = str.replace(/[^a-zA-Z0-9]/g, '_');

这将替换所有不是字母或数字的字符('_')。简单地更改下划线值的任何你想替换它。

使用String对象的replace()方法。

正如所选答案中提到的,应该在正则表达式中使用/g标志,以便替换字符串中子字符串的所有实例。

仅从速度问题考虑,我相信上面链接中提供的区分大小写的示例将是目前为止最快的解决方案。

var token = "\r\n";
var newToken = " ";
var oldStr = "This is a test\r\nof the emergency broadcasting\r\nsystem.";
newStr = oldStr.split(token).join(newToken);

newStr是 “这是对紧急广播系统的一次测试。”