2012-09-17 113 views
0

例如:如何在JavaScript中用空格替换所有的字符串?

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

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

+0

*“我已经尝试了几个功能”* ..您还应该包括您已经尝试过的内容,以便其他人可以帮助您了解问题所在。 –

回答

3

我已发布huuuge JS上的bollock加载和multiple replace功能。但是,在你的情况下,任何通过以下方式将很好地做:

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

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

+0

第一个只会替换第一个反斜杠。 –

+0

你说得对。我在控制台上尝试了'foo'bar''foo'.replace('\\','')',忘记了一个斜线刚刚逃过了报价。我会编辑我的答案 –

1

只需使用替换功能是这样的:

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

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

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

,然后使用str,将与原始字符串的工作,没有替代品。

1

尝试:

与string.replace(searchvalue,NEWVALUE)

你的情况:

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

你的JS代码无效(缺少'\')+它只会替换第一个'\'。 –

+0

谢谢,修复。 – CloudyMarble

0

使用与string.replace:

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

结果:

"abc 'defgh '123"
1
str="abc\\'asdf\\asdf" 
str=str.replace(/\\/g,' ') 

要替换所有'\'你的情况,但是,该函数替换只会做一次更换如果使用“\”直接。您必须将该模式编写为正则表达式。

参见http://www.w3schools.com/jsref/jsref_replace.asp

+0

一些注释来解释代码会很好.. – Lipis

+0

@Lipis,你是对的.. – Marcus

相关问题