转义双引号修复

问题描述:

我无法找到此资源。我想用perl来避免双引号,并且我对这种语言很陌生。转义双引号修复

这是我有:

$comment =~ s/\"/\\\"/g; 

它似乎并不奏效。什么是合适的解决方案?

+1

'的perl -E“$注释= “一个\” B “;说$评论; $评论=〜S /”/ \\“/ G;再说$评论''表明你的代码完成了自己的工作,所以问题就出现在别的地方..请向我们展示你的完整代码,这样我们可以提供帮助。 – Dada

+0

出于好奇,你为什么试图摆脱引号? – ThisSuitIsBlackNot

+0

@ThisSuitIsBlack不是因为某些数据有双引号,它导致我们的xml – slicks1

一种方法插入的事情,需要逃避,不计反斜杠

$comment =~ s/"/q(\")/eg; 

随着/e修改更换部件被评估为代码,并作为替代的结果。看到它in perlop和,例如this post。这里用于强制一个字符串q()

但请注意,在这种简单的情况下s/"/\"/工作正常。您的代码中可能会有更多内容出现,或者您的引号已经溢出,在这种情况下,额外的\会影响您稍后看到的内容。

无计算需要:

$comment =~ s.(?=").\\.g;