在JavaScript字符串替换方法中斜杠而不是引号

时间:2009-04-25 11:01:03

标签: javascript replace

为什么要使用

/

而不是

JavaScript中的

字符串replace()? E.g:

document.write(str.replace(/hi/, "hey"));

2 个答案:

答案 0 :(得分:9)

因为//表示正则表达式,这是一个更强大的字符串搜索/替换版本,而不是简单的替换(“x”,“y”)

但也支持简单的模式。

var a = "xxx";
var b = a.replace(/x/,'y');
alert( b ); //alerts "yxx"

添加g修饰符以替换globaly将是:

b = a.replace(/x/g,'y');
alert(b); //alerts "yyy"

您还可以添加i修饰符以使其不区分大小写。

var a = "XXX";
b = a.replace(/x/gi,'y');
alert(b); // alerts "yyy";

https://developer.mozilla.org/En/Core_JavaScript_1.5_Guide/Regular_Expressions

答案 1 :(得分:2)

JavaScript method replace()允许普通字符串和RegExp object作为搜索部分。

在您的示例中,使用了正则表达式(RegExp literal syntax),尽管普通字符串就足够了。