How to print \n in a String in java [duplicate] - java

This question already has answers here:
How do I print escape characters in Java?
(8 answers)
Closed 7 years ago.
I want to print \n.
String text = "";
text = "\n is used for new line";
but the \n is not showing when I run the code. How to do this?

Escape the \ with \
text = "\\n is used for new line";

If you want to actually write the two chars \and n to output, you need to escape the backslash: \\n.
All escape sequences are listed in the documentation: https://docs.oracle.com/javase/tutorial/java/data/characters.html

You can also use System.lineSeparator(), introduced in Java 8:
String result = "cat" + System.lineSeparator() + "dog";
System.out.print(result);
Output:
cat
dog

In java, the \ char is an escape character, meaning that the following char is some sort of control character (such as \n \t or \r).
To print literals in Java escape it with an additional \ char
Such as:
String text = "\\n is used for a new line";
System.out.println(text);
Will print:
\n is used for a new line

Related

why can't System.out.println print "C:\Users\Public"? [duplicate]

This question already has answers here:
How can I make Java print quotes, like "Hello"?
(11 answers)
What is the backslash character (\\)?
(6 answers)
Closed 2 years ago.
basically i want the output to be Path = "C:\Users\Public" and it seems to me that System.out.println("Path = "C:\Users\Public""); should work, but it doesn't so the question is why can't java just print the phrase as a combination of characters?
btw. this is my second time "programing" so please in simple terms if possible.
You should escape the special character such as " and \
System.out.println("Path = \"C:\\Users\\Public\"");
When you use backslash (\), java assumes that you are going to use an escape character. If you want to print that line you should probably use the method below and it should work. And you are using a string inside another one so you should use different types of inverted commas for both to tell the compiler that yeah there is a string inside another one. Otherwise the compiler will assume the middle inverted comma to be the closing one.
You can escape each and every escape character. If you notice I have used a backslash before inner inverted commas (" ") and every other backslash (\). Using a backslash before any escape character escapes it. So this should work.
System.out.println("Path = \"C:\\Users\\Public\"");
I hope now you can print your required output.

Java string tokenizer delimiter [duplicate]

This question already has answers here:
How do I split a string in Java?
(39 answers)
Closed 6 years ago.
I have a string "domain\cdsid", where "\" is the delimiter, all I want is to split the string and just print "cdsid".
Input string : "domain\cdsid"
Output string : "cdsid"
How do I do this ?
Try this (using split) :
String myText = "domain\\cdsid";
System.out.println(myText.split("\\\\")[1]);
Output :
cdsid
In Java String object "\" is used to define any escape sequence character like \n for new line, \t for tab, \\ for having a backslash in the String object.
So instead of writing String object as
String str = "domain\cdsid";
You have to write
String str = "domain\\cdsid";
The first option will give compile time error. Java will expect that after backslash their must be some escape sequence character but it is not their in first case. It will compile time error as
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )
In the above compile time error each separate value is a escape sequence character in java.
So your final code will be
String str = "domain\\cdsid";
System.out.println(str.split("\\\\")[1]);
Hope this helps.
Splitting is a way that I will recommended to go when you need all the elements resulting of the operation... this is because the result will generate an Array of Strings (what a waste of memory generating an array to only get ONE element! :) dont you think??)
in your case something like regex or just substrings will gently provide you the correct answer..
consider:
String txt = "domain\\cdsid";
System.out.println(txt.substring(txt.indexOf("\\") + 1));
output:
cdsid

String whitespace clean up that is not trim [duplicate]

This question already has answers here:
Java how to replace 2 or more spaces with single space in string and delete leading and trailing spaces
(32 answers)
Closed 8 years ago.
so I have been looking on here and I can find alot of solutions that either completely remove all white space or just remove spaces, or just remove tabs. Basically what I need/ want is a way to take a string, and turn all double spaces+ or tabs and turn them into a single space. ie
String temp = "This is a test for strings";
String result = "This is a test for strings";
any ideas? possible java library methods?
Use String.replaceAll:
String result = temp.replaceAll("\\s+", " ");
where \\s+ stands for more than one whitespace character.
You can use regExp with method #replaceAll other than that you can first use trim to remove leading and trailing spaces.
String temp = "This is a test for strings";
String result = temp.replaceAll("\\s+", " ");
Here \\s+ is regExp which means one or more spaces which will be replaced with single space by replaceAll method.
Try this:
String temp = "This is a test for strings";
String result = temp.replaceAll("\\s+", " "));

ignoring backslash for checking or printing

I have string like "hello\nworld" and if i use
System.out.println(string);
it will out put like:
helloworld
Or if i use
System.out.printf(string);
it will out put: helloworld
but i want java method that output exactly like it:hello\nworldmeans i want ignore backslash character like newline.
Then you need to construct your String as
String s = "hello\\nworld";
to escape the backslash.
Use apache commons StringEscapeUtils.
System.out.println("String s = \""
+ StringEscapeUtils.escapeJava(string)
+ "\";");
A tab character "\t" is then replaced with a backslash and a t. As others said, the String representations represents some special characters like linefeed/newline with \n.
The above would be fit for generating Java source code or so.
Just change your string to String s = "hello\\nworld";
You can also refer here:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html
\ is special character in String. It can be used to:
create special characters that normally can't be written like LF (line fead -> \n), CR (Carriage return -> \r), tabulator -> \t
escape other characters that have special meaning in String, for instance to print " you need to escape it first \" and in your case to be able to print \ you need to escape it with other backslash like "\\".

Printing a " in a Java String [duplicate]

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
How do I make a string with a " character in it? (Java)
I am having trouble printing a string like this in java System.out.println("this is a "test""); How can I go about this?
The way you escape special characters in Java is using \. E.g. this ("\\") is how you return \ and this ("\"") is how you return ".
This is how you may implement your example:
System.out.println("this is a \"test\"");
This is what you are looking for:
System.out.println("this is a \"test\"");
The \ is called the escape character.
It is used to embed special characters into a String literal.
\n = newline
\t = tab
\f = form feed
\r = carriage return
\" = double quote
\\ = backslash
this is just a few of the special characters you can insert with an escape sequence.
escape the quote
System.out.println("this is a \"test\"");
You must escape the " characters in Java
System.out.println( "this is a \"test\"");

Categories