替换|| (串联)字符串

时间:2011-12-29 14:22:37

标签: javascript

我有替换||的问题炭。

    str="Example || sentence";

    document.write(str.replace(/||/g, "+"));
// it gives me "+ +E+x+a+m+p+l+e+ +|+|+ +s+e+n+t+e+n+c+e+"

我该如何解决?

3 个答案:

答案 0 :(得分:2)

|符号在正则表达式中具有特殊含义。你必须逃脱它。

document.write(str.replace(/\|\|/g, '+'))

答案 1 :(得分:2)

|是一个正则表达式运算符,其行为类似于or。如果要在String中匹配它,则需要转义它:

str = "Example || sentence";
document.write(str.replace(/\|\|/g, "+"));

答案 2 :(得分:1)

此:

str.replace( /\|\|/g, '+' ) 

竖条在正则表达式模式中是特殊字符,必须进行转义。

现场演示: http://jsfiddle.net/mN3ft/