tl;dr
In Java 15+:
( "\\" + "t" ).translateEscapes() --> TAB character
( "\\" + "n" ).translateEscapes() --> LINE FEED character
( "\\" + "s" ).translateEscapes() --> SPACE character
…
String#translateEscapes
In Java 15+, use String#translateEscapes
method.
The char
type has been essentially broken since Java 2, legacy since Java 5. Make a habit of using code point integers and String
objects instead.
final String input = "\\" + "t";
final String TAB = input.translateEscapes ( );
Dump to console. Use code points to inspect actual contents of each string.
System.out.println ( "input = " + input );
System.out.println ( "input code points = " + Arrays.toString ( input.codePoints ( ).toArray ( ) ) );
System.out.println ( "TAB code points = " + Arrays.toString ( TAB.codePoints ( ).toArray ( ) ) );
When run, we verify that we indeed began with a two-character string, a back-slash and a "t". After our call, we transformed that input into a single TAB character with a code point of nine.
input = \t
input code points = [92, 116]
TAB code points = [9]