例如:
var str="abc\'defgh\'123";
我想使用Javascript删除所有\
。我尝试了几个函数,但仍然无法替换所有正斜杠。
答案 0 :(得分:3)
我在JS和multiple replace功能上发布了 huuuge 加载的bollocks。但在您的情况下,以下任何一种方式都可以很好地完成:
str = str.replace('\\',' ');//Only replaces first occurrence
str = str.replace(/\\/g,' ');
str = str.split('\\').join(' ');
正如@Guillaume Poussel指出的那样,第一种方法只替换了一次反斜杠。不要使用那个,要么使用正则表达式,要么(如果你的字符串很长)使用split().join()
方法。
答案 1 :(得分:1)
只需使用这样的替换功能:
str = str.replace('\\', ' ');
小心,您需要与另一个\
一起逃离\
。该函数返回修改后的字符串,它不会修改调用它的字符串,因此您需要像我的示例中一样捕获返回值!所以只是这样做:
str.replace('\\', ' ');
然后使用str
,将使用原始字符串,而不使用替换。
答案 2 :(得分:1)
尝试:
与string.replace(searchvalue,NEWVALUE)
在你的情况下:
str.replace('\\', ' ');
答案 3 :(得分:1)
str="abc\\'asdf\\asdf"
str=str.replace(/\\/g,' ')
您希望在您的情况下替换所有 '\'
,但是,如果您直接使用'\',则替换函数只会替换一次。您必须将模式编写为正则表达式。
答案 4 :(得分:0)
使用string.replace:
var result = str.replace('\\', ' ');
结果:
"abc 'defgh '123"