Ich habe String wie
"I am a boy".
Ich möchte so drucken
"I
am
a
boy".
Kann mir jemand helfen?
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
Sie können auch verwenden
System.lineSeparator()
:quelle
System.getProperty("line.separator")
.String x = "Hello, %n there";
.%n
Nur aus Gründen der Lesbarkeit wurden Leerzeichen hinzugefügt .Beispiel
Ausgabe
Erläuterung
Es ist besser, es
%n
als betriebssystemunabhängiges Zeichen für neue Zeilen zu verwenden,\n
und es ist einfacher als die VerwendungSystem.lineSeparator()
Warum verwenden
%n
, da auf jedem Betriebssystem eine neue Zeile auf einen anderen Zeichensatz verweist;LF ist das Akronym für Line Feed und CR ist das Akronym für Carriage Return . Die Escapezeichen werden in Klammern geschrieben. Auf jedem Betriebssystem steht eine neue Zeile für etwas Systemspezifisches.
%n
ist betriebssystemunabhängig, es ist portabel. Es steht für\n
auf Unix-Systemen oder\r\n
auf Windows-Systemen und so weiter. Verwenden Sie also nicht\n
, sondern verwenden Sie%n
.quelle
Dies kann auf verschiedene Arten erfolgen. Ich erwähne zwei einfache Wege.
Sehr einfacher Weg wie folgt:
Dies kann auch mit der folgenden Verkettung erfolgen:
quelle
Versuchen:
quelle
Um den Code auf jedes System portierbar zu machen, würde ich Folgendes verwenden:
Dies ist wichtig, da verschiedene Betriebssysteme unterschiedliche Notationen für Zeilenumbrüche verwenden: Windows verwendet "\ r \ n", Classic Mac verwendet "\ r" und Mac und Linux verwenden beide "\ n".
Kommentatoren - bitte korrigieren Sie mich, wenn ich mich irre ...
quelle
\n
wird zum Erstellen einer separaten Zeile verwendet;Beispiel:
Ergebnis:
quelle
Wenn Sie einfach eine neue Zeile in der Konsole drucken möchten, können Sie ´ \ n´ für neue Zeilen verwenden.
Wenn Sie Text in Swing-Komponenten unterbrechen möchten, können Sie HTML verwenden:
quelle
Wenn Sie Ihren Code os-unspezifisch haben möchten, sollten Sie für jedes Wort println verwenden
weil Windows "\ r \ n" als Zeilenumbruch verwendet und unixoide Systeme nur "\ n" verwenden
println verwendet immer den richtigen
quelle
println()
am Ende der Zeichenfolge (nicht am Anfang) ein Zeilenumbruchzeichen hinzugefügt wird .System.lineSeparator()
oderSystem.getProperty("line.separator")
kann verwendet werden, um das Codesystem unabhängig zu machen.Was ist
%n
mit einem Formatierer wieString.format()
?Wie diese Antwort sagt, ist es ab Java 1.5 verfügbar und ein anderer Weg zu
System.getProperty("line.separator")
oderSystem.lineSeparator()
und wie diese beiden ist es unabhängig vom Betriebssystem .quelle
finalString = "bandham" + System.lineSeparator() + "manikanta"; System.out.println(finalString);
Ausgabe:
bandham manikanta
quelle
Vollständiges Programmbeispiel mit einer lustigen Wendung:
Öffnen Sie ein neues leeres Dokument und speichern Sie es unter
%yourJavaDirectory%/iAmABoy/iAmABoy.java
. "iAmABoy" ist der Klassenname.Fügen Sie den folgenden Code ein und lesen Sie ihn durch. Denken Sie daran, ich bin ein Anfänger, daher freue ich mich über jedes Feedback!
Navigieren Sie nun in terminal / cmd zu
%yourJavaDirectory%/iAmABoy
und geben Sie Folgendes ein:Sie können die Argumente
I am a boy
durch alles ersetzen !quelle
args
direkt an einen Skalar übergebennlSeparated()
odernlSeparated()
einen SkalarString
anstelle eines Arrays verwenden. Erste Option ist wahrscheinlich besser. Drucken Sie auch Ihre Unterschrift mitprintln
stattprint
.main
ersetzenfor (String arg : args) { nlSeparated(arg); }
durch nurnlSeparated(args);
.nlSeparated
akzeptiert bereits eine Liste vonString
s. Eine bessere Erklärung finden Sie hier: stackoverflow.com/a/12534579/2988730Machen Sie eine Trennung.
quelle
System.out.println ("I \ nam \ na \ nboy");
Dies funktioniert. Es wird auch ein Leerzeichen vor der Eingabe des Zeichens angegeben
quelle
Ich benutze diesen Code
String result = args[0].replace("\\n", "\n");
Mit Terminal kann ich arg verwenden
I\\nam\\na\\boy
, umSystem.out.println
auszudruckenquelle
Sie können das
<br>
Tag in Ihrer Zeichenfolge verwenden, um es in HTML-Seiten anzuzeigenquelle