首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java中转义双引号

在Java中转义双引号
EN

Stack Overflow用户
提问于 2011-06-08 19:21:13
回答 4查看 257.4K关注 0票数 56

可能重复:

In Java, is there a way to write a string literal without having to escape quotes?

代码语言:javascript
复制
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);";

假设我希望这个查询在Java中是一个有效的字符串。我是否必须将其转换为转义所有双引号,并在前面加上一个尾随斜杠?

代码语言:javascript
复制
e.g.  = "CREATE TABLE \"users"\

或者有没有更快的方法让整个查询一次成为一个有效的字符串?我认为你可以在整个字符串两边使用单引号来实现这一点,但这也不起作用。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-08 19:24:31

在Java中,使用反斜杠转义双引号是实现此目的的唯一方法。

周围的一些IDE,比如IntelliJ IDEA,在将这样的字符串粘贴到字符串文字中(即,在java字符串文字两边的双引号之间)时,会自动进行转义

另一种选择是将字符串放入某种文本文件中,然后在运行时读取该文件

票数 45
EN

Stack Overflow用户

发布于 2011-06-08 19:25:26

使用Java的replaceAll(String regex, String replacement)

例如,对引号使用替换字符,然后将该字符替换为\"

代码语言:javascript
复制
String newstring = String.replaceAll("%","\"");

或者用\\\"替换\"的所有实例

代码语言:javascript
复制
String newstring = String.replaceAll("\"","\\\"");
票数 56
EN

Stack Overflow用户

发布于 2011-06-08 19:33:33

对于字符串常量,除了通过反斜杠转义之外别无选择。

也许您会发现MyBatis项目很有趣。它是JDBC上的一层薄层,您可以在其中将SQL查询外部化到XML配置文件中,而无需转义双引号。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6277944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档