2013-09-30 74 views
0

我已經包含以下值的純JavaScript變種:JavaScript的替換字符

var a = "\\{0\\}"; 

現在我需要做的是更換第一部分和後支架前兩個\。

我已經嘗試不同的解決方案,但似乎沒有人上班

var b = a.replace(pattern,'') 

我不能找到一個很好的模式。我不知道該怎麼做,或者如何編寫一個好的模式或正則表達式。

有人知道解決方案嗎?謝謝大家

P.S.我需要純javascript的解決方案。

+0

http://stackoverflow.com/questions/6640382/how-to-remove-backslash-的重複轉自javascript-var – davidkonrad

回答

2
var a = "\\{0\\}"; 
var pattern = /\\/g; 
var b = a.replace(pattern,''); 

你的問題是你正在處理轉義字符,所以你需要使用正則表達式。


編輯:工作示例

http://jsfiddle.net/tylerpachal/HgBnw/

+0

謝謝TylerAndFriend,但我已經試過了你的建議並且它不工作。 我找到了解決方案,我不知道爲什麼,但模式需要\ 3次 var a =「\\ {0 \\}」; var b = a.replace(/ \\\/g,''); console.log(b)將打印{0} – user2548436

+0

適用於我的作品:http://jsfiddle.net/tylerpachal/HgBnw/ – Tyler

+1

@ user2548436上面的答案,帶'/ \\/g'模式,工作正常爲了我。在Chrome控制檯中,語句'「\\ {0 \\}」。replace(/ \\/g,'')'產生'「{0}」'。使用'/ \\\/g'的模式給出'SyntaxError'。 – ajp15243

1

試試這個

var a = "\\{0\\}"; 
var b = a.replace('\\','').replace('\\',''); 
alert(b);