0

例如:

 var str="abc\'defgh\'123";

我想删除所有\使用 Javascript。我已经尝试了几个功能,但仍然无法替换所有正斜杠。

4

5 回答 5

3

我在 JS 和多个替换功能上发布了大量的废话。但在您的情况下,以下任何一种方式都可以很好地发挥作用:

str = str.replace('\\',' ');//Only replaces first occurrence 
str = str.replace(/\\/g,' ');
str = str.split('\\').join(' ');

正如@Guillaume Poussel 指出的那样,第一种方法只替换了一次反斜杠。不要使用那个,要么使用正则表达式,要么(如果你的字符串很长)使用这种split().join()方法。

于 2012-09-17T09:46:55.887 回答
1

只需像这样使用替换功能:

str = str.replace('\\', ' ');

小心,你需要\和另一个一起逃跑\。该函数返回修改后的字符串,它不会修改调用它的字符串,因此您需要像我的示例中那样捕获返回值!所以只是做:

str.replace('\\', ' ');

然后使用str, 将使用原始字符串,而无需替换。

于 2012-09-17T09:39:47.217 回答
1

尝试:

string.replace(搜索值,新值)

在你的情况下:

str.replace('\\', ' ');
于 2012-09-17T09:40:44.853 回答
1
str="abc\\'asdf\\asdf"
str=str.replace(/\\/g,' ')

您想在您的情况下全部 '\'替换,但是,如果您直接使用 '\',则函数 replace 只会替换一次。您必须将模式编写为正则表达式。

请参阅http://www.w3schools.com/jsref/jsref_replace.asp

于 2012-09-17T09:44:40.630 回答
0

使用 string.replace:

var result = str.replace('\\', ' ');

结果:

"abc 'defgh '123"
于 2012-09-17T09:41:36.973 回答