Übersicht
Die Formatierung von Zeichenketten und die Erzeugung von Textausgaben kommt oft bei der Programmierung vor. In vielen Fällen ist es notwendig, eine neue Zeile zu einer Zeichenkette hinzuzufügen, um die Ausgabe zu formatieren.
Lassen Sie uns besprechen, wie man Zeilenumbruch-Zeichen verwendet.
Weiterlesen:
Prüfen auf leere oder leere Zeichenketten in Java
Prüfen, ob eine Zeichenkette eine Teilzeichenkette enthält
Zeichen für Zeilenumbruch in einem String hinzufügen
Betriebssysteme haben spezielle Zeichen, die den Beginn einer neuen Zeile kennzeichnen. Unter Linux zum Beispiel wird eine neue Zeile mit „\n“ bezeichnet, auch Line Feed genannt. Unter Windows wird eine neue Zeile mit „\r\n“ bezeichnet, manchmal auch als Carriage Return und Line Feed (CRLF) bezeichnet.
Eine neue Zeile in Java einzufügen ist so einfach wie das Einfügen von „\n“ , „\r“ oder „\r\n“ am Ende unserer Zeichenkette.
2.1. CRLF-Zeilenumbrüche verwenden
In diesem Beispiel wollen wir einen Absatz mit zwei Textzeilen erstellen. Genauer gesagt soll Zeile2 in einer neuen Zeile nach Zeile1 erscheinen.
Für ein Unix/Linux/New Mac-basiertes Betriebssystem können wir „\n“ verwenden:
String line1 = "Humpty Dumpty sat on a wall.";String line2 = "Humpty Dumpty had a great fall.";String rhyme = line1 + "\n" + line2;
Wenn wir auf einem Windows-basierten Betriebssystem sind, können wir „\r\n“ verwenden:
rhyme = line1 + "\r\n" + line2;
Für ein altes Mac-basiertes OS können wir „\r“ verwenden:
rhyme = line1 + "\r" + line2;
Wir haben drei Methoden zum Hinzufügen einer neuen Zeile demonstriert, aber leider sind sie plattformabhängig.
2.2. Plattformunabhängige Zeilentrenner verwenden
Wir können systemdefinierte Konstanten verwenden, wenn unser Code plattformunabhängig sein soll.
Zum Beispiel kann man mit System.lineSeparator() einen Zeilentrenner angeben:
rhyme = line1 + System.lineSeparator() + line2;
Oder wir könnten auch System.getProperty(„line.separator“) verwenden:
rhyme = line1 + System.getProperty("line.separator") + line2;
2.3. Plattformunabhängige Zeilenumbrüche verwenden
Zeilentrenner bieten zwar Plattformunabhängigkeit, aber sie zwingen uns, unsere Strings zu verketten.
Wenn wir etwas wie System.out.printf oder String.format verwenden, kann das plattformunabhängige Zeilenumbruchzeichen %n direkt in einer Zeichenkette verwendet werden:
rhyme = "Humpty Dumpty sat on a wall.%nHumpty Dumpty had a great fall.";
Das ist dasselbe wie das Einfügen von System.lineSeparator() in unsere Zeichenkette, aber wir müssen die Zeichenkette nicht in mehrere Teile aufteilen.
Zeichen für Zeilenumbruch in einer HTML-Seite hinzufügen
Angenommen, wir erstellen eine Zeichenkette, die Teil einer HTML-Seite ist. In diesem Fall können wir einen HTML-Break-Tag <br> hinzufügen.
Wir können auch die Unicode-Zeichen „& #13;“ (Carriage Return) und „& #10;“ (Line Feed) verwenden. Diese Zeichen funktionieren zwar, aber nicht auf allen Plattformen so, wie man es vielleicht erwartet. Stattdessen ist es besser, <br> für Zeilenumbrüche zu verwenden.
Zusätzlich können wir „\n“ in einigen HTML-Elementen verwenden, um eine Zeile umzubrechen.
Insgesamt sind dies die drei Methoden, eine Zeile in HTML umzubrechen. Je nach verwendetem HTML-Tag können wir entscheiden, welche wir verwenden möchten.
3.1. HTML-Break-Tag
Wir können den HTML-Break-Tag <br> verwenden, um eine Zeile zu brechen:
rhyme = line1 + "<br>" + line2;
Das <br> Tag zum Umbrechen einer Zeile funktioniert in fast allen HTML-Elementen wie <body><p><pre>, usw. Beachten Sie jedoch, dass es im <textarea> Tag nicht funktioniert.
3.2. Zeilenumbruch-Zeichen
Wir können ‚\n‘ verwenden, um eine Zeile zu unterbrechen, wenn Text in einem <pre> oder <textarea> Tag eingeschlossen ist:
rhyme = line1 + "\n" + line2;
3.3. Unicode-Zeichen
Schließlich können wir die Unicode-Zeichen „& #13;“ (Carriage Return) und „& #10;“ (Line Feed) zum Umbrechen einer Zeile verwenden. Im <textarea>-Tag können wir zum Beispiel beides verwenden:
rhyme = line1 + "" + line2;rhyme = line1 + "" + line2;
Für den <pre>-Tag funktionieren beide der folgenden Zeilen:
rhyme = line1 + "" + line2;rhyme = line1 + "" + line2;
Der Unterschied zwischen \n und \r
\r und \n sind Zeichen mit den ASCII-Werten 13 (CR) bzw. 10 (LF). Sie stehen beide für einen Umbruch zwischen zwei Zeilen, werden aber von den Betriebssystemen unterschiedlich verwendet.
Unter Windows wird eine Folge von zwei Zeichen verwendet, um eine neue Zeile zu beginnen, CR unmittelbar gefolgt von LF. Auf Unix-ähnlichen Systemen wird dagegen nur LF verwendet.
Beim Schreiben von Java-Anwendungen müssen wir darauf achten, welche Zeilenumbruchzeichen wir verwenden, da sich die Anwendungen je nach Betriebssystem, auf dem sie ausgeführt werden, unterschiedlich verhalten.
Die sicherste und kompatibelste Option ist die Verwendung von System.lineSeparator(). Auf diese Weise müssen wir das Betriebssystem nicht berücksichtigen.
Fazit
In diesem Artikel haben wir besprochen, wie man in Java Zeilenumbrüche in einen String einfügt.
Wir haben auch gesehen, wie man mit System.lineSeparator() und System.getProperty(„line.separator“) plattformunabhängigen Code für einen Zeilenumbruch schreibt.
Abschließend haben wir uns angesehen, wie wir eine neue Zeile hinzufügen, wenn wir eine HTML-Seite generieren.
Die vollständige Implementierung dieses Artikels finden Sie drüben auf GitHub.
Starten Sie mit Spring 5 und Spring Boot 2, durch den Learn Spring Kurs:
>> CHECK OUT THE COURSE