2012-10-30 74 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

正如我所说的,我不能把它做的正是以取代你指定了,但如果你没有想法,我认为这是一个很好的开始。输出注释显示它确实只替换为“当我测试它时 –