2012-09-17 114 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

相關問題