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

字符串到字符串中的Java字符串,java,string,Java,String,我有一个字符串:“\'Blah\'Blah\'Blah\”。里面还有一根绳子。如何将其转换为:Blah'Blah'Blah?(你看,去掉字符串。)这是因为我得到了一个SQL Where查询: WHERE blah="Blah \'Blah\' Blah" 当我解析这个时,我得到上面的字符串(仍然在引号中并转义)。我如何提取它,取消转义字符串?还是有更简单的方法?谢谢, Isaac将字符串放在属性文件中,Java支持XML属性文件,引号字符不需要在XML中转义 使用Properties类的loa

我有一个字符串:
“\'Blah\'Blah\'Blah\”
。里面还有一根绳子。如何将其转换为:
Blah'Blah'Blah
?(你看,去掉字符串。)这是因为我得到了一个SQL Where查询:

WHERE blah="Blah \'Blah\' Blah"
当我解析这个时,我得到上面的字符串(仍然在引号中并转义)。我如何提取它,取消转义字符串?还是有更简单的方法?谢谢,

Isaac

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

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


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

这应该是正确的。这假设它以引号开始,以引号结束

if (val.startsWith("\"") || val.startsWith("\'")) 
   val = val.substring(1, val.length-2);
您可能希望添加
val=val.trim()也是。

不要这样做。
按照正确的步骤对数据库/平台上的查询进行参数化,就不必逃避任何事情。您还可以保护自己免受注入漏洞的影响。

您是在字符串中构建sql where子句,还是在使用参数化查询?Yo dawg,我听说您喜欢字符串,所以我们在字符串中放置了一个字符串,以便您可以在解析时进行解析您是否也要取消双引号转义(位于示例的开头和结尾)或单引号(在中间)。此外,您使用的是哪种SQL,因为您可能需要重新转义SQL的引号。如果字符串为“\”Blah\\”Blah\\“Blah”不,你看,我不是创建SQL查询的人,解析它是我的工作。我有一个到web服务的SQL接口,我已经完成了参数化部分,但是对于那些不喜欢这样做的人,并且做得不好,我必须支持它。我想我可以抛出一个异常,但我会我想完全支持它。那么你的web服务界面就坏了。它应该把查询和查询参数作为单独的项。它是这样的!这是首选的方式!但是,要完全支持SQL,我必须直接在查询中支持字符串。这不好,我同意,但我必须。我会这样做。强迫消费者正确使用你的服务。如果你你需要解析SQL,创建一个“真正的”解析器和词法分析器,一次将字符串解码成一个字符,然后创建一个语法树。
if (val.startsWith("\"") || val.startsWith("\'")) 
   val = val.substring(1, val.length-2);