最快的方法来替换字符串中的所有字符的实例

Javascript替换string/character所有实例的最快方法是什么? while ,一个for-loop ,一个regular expression


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

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

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

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

试试这个replaceAll:http://dumpsite.com/forum/index.php?topic=4.msg8#msg8

String.prototype.replaceAll = function(str1, str2, ignore) 
{
    return this.replace(new RegExp(str1.replace(/([/,!^${}[]().*+?|<>-&])/g,"$&"),(ignore?"gi":"g")),(typeof(str2)=="string")?str2.replace(/$/g,"$$$$"):str2);
} 

这是非常快的,并且它可以适用于所有这些条件,许多其他的失败:

"x".replaceAll("x", "xyz");
// xyz

"x".replaceAll("", "xyz");
// xyzxxyz

"aA".replaceAll("a", "b", true);
// bb

"Hello???".replaceAll("?", "!");
// Hello!!!

让我知道如果你能打破它,或者你有更好的东西,但要确保它能通过这4项测试。


var mystring = 'This is a string';
var newString = mystring.replace(/i/g, "a");

newString现在是'Thas as a strang'

链接地址: http://www.djcxy.com/p/94207.html

上一篇: Fastest method to replace all instances of a character in a string

下一篇: Replacing spaces with underscores in JavaScript?