Md.*_*san 124 java string newline
我有类似的字符串
"I am a boy".
Run Code Online (Sandbox Code Playgroud)
我想像这样打印
"I
am
a
boy".
Run Code Online (Sandbox Code Playgroud)
有谁能够帮我?
Pri*_*ley 135
System.out.println("I\nam\na\nboy");
System.out.println("I am a boy".replaceAll("\\s+","\n"));
System.out.println("I am a boy".replaceAll("\\s+",System.getProperty("line.separator"))); // portable way
Run Code Online (Sandbox Code Playgroud)
小智 110
您还可以使用System.lineSeparator():
String x = "Hello," + System.lineSeparator() + "there";
Run Code Online (Sandbox Code Playgroud)
Lev*_*glu 42
System.out.printf("I %n am %n a %n boy");
Run Code Online (Sandbox Code Playgroud)
I
am
a
boy
Run Code Online (Sandbox Code Playgroud)
最好将其%n用作独立于操作系统的新行字符,而\n不是使用它System.lineSeparator()
为什么要使用%n,因为在每个操作系统上,新行指的是一组不同的字符;
Unix and modern Mac's : LF (\n)
Windows : CR LF (\r\n)
Older Macintosh Systems : CR (\r)
Run Code Online (Sandbox Code Playgroud)
LF是的缩写,换行和CR是的缩写回车.转义字符写在括号内.因此,在每个操作系统上,新行代表系统特有的内容.%n与OS无关,它是可移植的.它代表\nUnix系统或\r\nWindows系统等.因此,请勿使用\n,而是使用%n.
Rip*_*sim 24
它可以通过几种方式完成.我提到了两种简单的方法.
非常简单的方法如下:
System.out.println("I\nam\na\nboy");
Run Code Online (Sandbox Code Playgroud)它也可以通过连接完成,如下所示:
System.out.println("I" + '\n' + "am" + '\n' + "a" + '\n' + "boy");
Run Code Online (Sandbox Code Playgroud)Amo*_*itz 11
为了使代码可移植到任何系统,我会使用:
public static String newline = System.getProperty("line.separator");
Run Code Online (Sandbox Code Playgroud)
这很重要,因为不同的操作系统对换行使用不同的符号:Windows使用"\ r \n",Classic Mac使用"\ r",Mac和Linux都使用"\n".
评论员 - 如果我错了,请纠正我...
\n 用于分隔线;
例:
System.out.print("I" +'\n'+ "am" +'\n'+ "boy");
Run Code Online (Sandbox Code Playgroud)
结果:
I
am
boy
Run Code Online (Sandbox Code Playgroud)
如果您只想在控制台中打印换行符,可以使用'\n'作为换行符.
如果你想在swing组件中打破文本,你可以使用html:
String s = "<html>first line<br />second line</html>";
Run Code Online (Sandbox Code Playgroud)
如果您希望使用非特定的代码,则应为每个单词使用println
System.out.println("I");
System.out.println("am");
System.out.println("a");
System.out.println("boy");
Run Code Online (Sandbox Code Playgroud)
因为Windows使用"\ r \n"作为换行符,而unixoid系统只使用"\n"
println总是使用正确的
%n使用像这样的格式化程序怎么样String.format()?:
String s = String.format("I%nam%na%nboy");
Run Code Online (Sandbox Code Playgroud)
正如这个答案所说,它从 java 1.5 开始可用,是System.getProperty("line.separator")or的另一种方式System.lineSeparator(),就像这两个一样,是OS dependent。
独立于平台的换行符:
finalString = "physical" + System.lineSeparator() + "distancing";
System.out.println(finalString);
Run Code Online (Sandbox Code Playgroud)
输出:
physical
distancing
Run Code Online (Sandbox Code Playgroud)
笔记:
System.getProperty("line.separator")System.lineSeparator()| 归档时间: |
|
| 查看次数: |
842179 次 |
| 最近记录: |