在Java中,如何打印出String的文字内容?例如:
String s="Hello \"world\"";
System.out.println(s);
会打印:
Hello "world"
我怎样才能打印出来?
Hello \"world\"
答案 0 :(得分:6)
正如@Blender在评论中指出的那样,println
得到的内容实际上是字符串的文字内容。但是,如果要获取必须在Java程序中插入引号的文本,那么您可以使用Apache escapeJava
类的StringEscapeUtils
方法。见http://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringEscapeUtils.html#escapeJava(java.lang.String)
String s = "Hello \"world\"";
String escaped = StringEscapeUtils.escapeJava(s);
System.out.println(escaped);
答案 1 :(得分:0)
有些编程语言有这样的文字模式(比如Groovy:"""Verbatim mode"""
),但Java没有。
如果要让Java打印Hello \"world\"
,则必须在.java文件中正确转义它:
s= "Hello \\\"world\\\""
。最终字符串中的第一个\\ -> \
和第二个\" -> "
。
可悲的是,在使用正则表达式时,这是一个常见的痛苦,正则表达式涉及字符串中的大量\
。