2012-03-29 80 views
0

我对javascript的替换方法有问题。我有一个字符串是:使用替换方法javascript

string1 = one|two|three|four; 

我想替换(“|”和“,”);

我想:

string1.replace("|", ","); 

但仅替换第一次出现。我也试过:

string1.replace(/|/g,","); 

和结果是:

string1 = "o,n,e,|,t,w,o,|,t,h,r,e,e,"; 

我怎样才能让下面的一个?

string1 = "one,two,three"; 

非常感谢, tinks

回答

4

|是正则表达式中的一个特殊字符。您需要使用反斜杠进行转义。

string1.replace(/\|/g,","); 

Live example

4

|是在正则表达式特殊字符,这使得左,右操作数之间的或选择,你必须用一个反斜杠逃脱它用它作为文字字符。

string1.replace(/\|/g,","); 

string1 = "one|two|three|four"; 
"one|two|three|four" 
string1.replace(/\|/g, ","); 
"one,two,three,four" 
2

你没有逃脱正则表达式的竖线:

var string1 = "one|two|three|four"; 
string1.replace(/\|/g,",") 
+0

我看晚了,现在党......党研发。 – kiswa 2012-03-29 16:05:23

+0

你需要知道这个东西我的心脏,否则你永远不会有竞争力,所以哈哈 – 2012-03-29 16:10:08

+0

我总是认为我知道,但我仍然需要检查确认。可能为什么我还低于1K。好吧! :) – kiswa 2012-03-29 17:09:16