问题
How can I make Java print \"Hello\"
?
When I type System.out.print(\"Hello\");
the output will be Hello
. What I am looking for is \"Hello\"
with the quotes(\"\"
).
回答1:
System.out.print("\"Hello\"");
The double quote character has to be escaped with a backslash in a Java string literal. Other characters that need special treatment include:
- Carriage return and newline:
"\r"
and"\n"
- Backslash:
"\\\\"
- Single quote:
"\'"
- Horizontal tab and form feed:
"\t"
and"\f"
The complete list of Java string and character literal escapes may be found in the section 3.10.6 of the JLS.
It is also worth noting that you can include arbitrary Unicode characters in your source code using Unicode escape sequences of the form "\uxxxx" where the "x"s are hexadecimal digits. However, these are different from ordinary string and character escapes in that you can use them anywhere in a Java program ... not just in string and character literals; see JLS sections 3.1, 3.2 and 3.3 for a details on the use of Unicode in Java source code.
See also:
The Oracle Java Tutorial: Numbers and Strings - Characters
http://stackoverflow.com/questions/3034186/in-java-is-there-a-way-to-write-a-string-literal-without-having-to-escape-quote (Answer: No)
回答2:
char ch='"';
System.out.println(ch + "String" + ch);
Or
System.out.println('"' + "ASHISH" + '"');
回答3:
Escape double-quotes in your string: "\"Hello\""
More on the topic (check 'Escape Sequences' part)
回答4:
You can do it using a unicode character also
System.out.print('\u0022' + "Hello" + '\u0022');
回答5:
System.out.println("\"Hello\"");
回答6:
Adding the actual quote characters is only a tiny fraction of the problem; once you have done that, you are likely to face the real problem: what happens if the string already contains quotes, or line feeds, or other unprintable characters?
The following method will take care of everything:
public static String escapeForJava( String value, boolean quote )
{
StringBuilder builder = new StringBuilder();
if( quote )
builder.append( "\"" );
for( char c : value.toCharArray() )
{
if( c == '\'' )
builder.append( "\\'" );
else if ( c == '\"' )
builder.append( "\\\"" );
else if( c == '\r' )
builder.append( "\\r" );
else if( c == '\n' )
builder.append( "\\n" );
else if( c == '\t' )
builder.append( "\\t" );
else if( c < 32 || c >= 127 )
builder.append( String.format( "\\u%04x", (int)c ) );
else
builder.append( c );
}
if( quote )
builder.append( "\"" );
return builder.toString();
}
回答7:
System.out.println("\"Hello\"")
回答8:
There are two easy methods:
- Use backslash
\
before double quotes. - Use two single quotes instead of double quotes like
''
instead of"
For example:
System.out.println("\"Hello\"");
System.out.println("''Hello''");
回答9:
Use Escape sequence.
\"Hello\"
This will print "Hello".
回答10:
Take note, there are a few certain things to take note when running backslashes with specific characters.
System.out.println("Hello\\\");
The output above will be:
Hello\
System.out.println(" Hello\" ");
The output above will be:
Hello"
来源:https://stackoverflow.com/questions/3844595/how-can-i-make-java-print-quotes-like-hello