在Java中转义双引号
可能重复:
在Java中,有没有办法写一个string文字而不必转义引号?
private static final String CREATE_TABLE_EXHIBITORS = "CREATE TABLE "users" ("_id" text PRIMARY KEY ,"name" text,"body" text,"image" text,"stand_id" text,"begin" long,"end" long,"changedate" long,"website" text,"facebook" text,"myspace" text,"twitter" text,"festivallink" text,"favorite" integer);";
比方说,我希望这个查询是一个有效的Javastring。 我是否必须将其转换为在前面以斜线格式转义所有双引号?
eg = "CREATE TABLE \"users"\
还是有更快的方法来使整个查询一次有效的string? 我以为你可以用整个string单引号来做到这一点,但这也不起作用。
用反斜杠转义双引号是在Java中执行此操作的唯一方法。
一些像IntelliJ IDEA这样的IDE会在将这样一个string粘贴到string文字(例如围绕一个Java String文字的双引号之间)时自动转义,
另一种select是将string放入某种文本文件,然后在运行时读取
使用Java的replaceAll(String regex, String replacement)
例如,使用replace字符作为引号,然后用\"
replace该字符
String newstring = String.replaceAll("%","\"");
或用\\\"
replace\"
所有实例
String newstring = String.replaceAll("\"","\\\"");
对于string常量,除了通过反斜杠进行转义之外,别无select。
也许你会发现MyBatis项目很有趣。 它是JDBC上的一个薄层,您可以在XMLconfiguration文件中外部化SQL查询,而无需使用双引号。
是的,你将不得不通过反斜杠来避免所有的双引号。