2012-10-30 72 views
0

如何用字符串中的\」替換標準引號(')?AS3>將雙引號替換爲「

這顯然不工作:

s = s.split("'").join (" \" "); 

而這給了我(當然)的錯誤:

s = s.split("'").join (" \\" "); 

任何幫助嗎?

回答

3

好的,對不起,我只是打電話給我的一個朋友,談論它。

在這裏,萬一有人解決方案需要它

s = s.split("'").join ("\\\""); 
+1

我建議閱讀這個解釋字符串文字和字符串值之間的區別。http://www.northcode.com/blog.php/2007/07/26/String-Literals-vs-String-Values這應該有助於你理解爲什麼你需要轉義反斜槓。 –

0

你有沒有嘗試過使用String.replace()的解決方案?我無法完全按照您指定的方式來完成,但它可能是一個很好的起點。全局標記使其替換所有實例而不是第一個。

var myPattern:RegExp = /'/g; // The 'g' tags the pattern as global 
var str:String = "Test'String"; 
trace(str.replace(myPattern, "\"")); 
// Will output: Test"String 

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/String.html#replace採取()

要展開:

var myPattern:RegExp = /'/g; 
var myPattern2:RegExp = /\"/; 
var str:String = "Test'String"; 
trace(str.replace(myPattern, myPattern2)); 
// Will output: Test/\"/String 

這給你留下一個字符串,你需要,只除去 「/」 字符來實現你想要的結果。你的解決方案雖然簡單得多,但這只是一種選擇。

+0

很抱歉,但我認爲這是不會與\「但只有」 –

+0

正如我所說的,我不能把它做的正是以取代你指定了,但如果你沒有想法,我認爲這是一個很好的開始。輸出註釋顯示它確實只替換爲「當我測試它時 –