字符串到字符串的Java字符串

时间:2009-05-04 23:55:59

标签: java string

我有这个字符串:"\"Blah \'Blah\' Blah\""。里面还有另一个字符串。如何将其转换为:Blah 'Blah' Blah? (你看,unescaping字符串。)这是因为我得到一个SQL Where查询:

WHERE blah="Blah \'Blah\' Blah"

当我解析这个时,我得到上面的字符串(仍然在引号内并转义。)我如何提取它,取消转义字符串?或者这是一个更简单的方法吗?谢谢,
艾萨克

4 个答案:

答案 0 :(得分:17)

不要这样做。

按照适当的步骤对数据库/平台上的查询进行参数化,您不必转义任何内容。您还可以保护自己免受注射漏洞的侵害。

答案 1 :(得分:0)

将字符串放在属性文件中,Java支持XML属性文件,引号字符不需要以XML格式转义。

使用Properties类的loadFromXML(InputStream in)方法。

然后,您可以使用MessageFormat类在需要时将值插入到字符串中。

答案 2 :(得分:0)

这应该是正确的。这假设如果它以引号开头,则以引号结束。

if (val.startsWith("\"") || val.startsWith("\'")) 
   val = val.substring(1, val.length-2);

您可能还希望添加val = val.trim();

答案 3 :(得分:-1)

"\"Blah \'Blah\' Blah\"".replaceAll("\"", "")