Een Newline-teken toevoegen aan een tekenreeks in Java

1. Overzicht

Tekenreeksopmaak en het genereren van tekstuitvoer komt vaak naar voren tijdens het programmeren. In veel gevallen is het nodig om een ​​nieuwe regel aan een string toe te voegen om de uitvoer op te maken.

Laten we bespreken hoe u tekens voor een nieuwe regel kunt gebruiken.

2. Newline-tekens in een string toevoegen

Besturingssystemen hebben speciale tekens die het begin van een nieuwe regel aangeven. Bijvoorbeeld, in Linux wordt een nieuwe regel aangeduid met "\ n ", ook wel een Lijntoevoer. In Windows wordt een nieuwe regel aangeduid met "\ r \ n ", ook wel een Vervoer terug en Lijntoevoer, of CRLF.

Het toevoegen van een nieuwe regel in Java is net zo eenvoudig als het toevoegen van "\ n " , “\ r ”, of "\r\ n " aan het einde van onze string.

2.1. CRLF Line-Breaks gebruiken

Voor dit voorbeeld willen we een alinea maken met twee regels tekst. Concreet willen we lijn 2 om daarna op een nieuwe regel te verschijnen lijn 1.

Voor een Unix / Linux / New Mac-gebaseerd besturingssysteem kunnen we '\ n ”:

String line1 = "Humpty Dumpty zat op een muur."; String line2 = "Humpty Dumpty had een grote val."; String rijm = line1 + "\ n" + line2;

Als we een op Windows gebaseerd besturingssysteem gebruiken, kunnen we '\ r \ n ”:

rijm = regel1 + "\ r \ n" + regel2;

Voor een oud Mac-gebaseerd besturingssysteem kunnen we '\ r ”:

rijm = regel1 + "\ r" + regel2;

We hebben drie methoden gedemonstreerd om een ​​nieuwe regel toe te voegen, maar helaas zijn ze platformafhankelijk.

2.2. Platformonafhankelijke lijnscheiders gebruiken

We kunnen door het systeem gedefinieerde constanten gebruiken als we willen dat onze code platformonafhankelijk is.

Gebruik bijvoorbeeld System.lineSeparator () voor het geven van een lijnscheidingsteken:

rijm = line1 + System.lineSeparator () + line2;

Of we kunnen ook gebruiken System.getProperty ("line.separator"):

rijm = line1 + System.getProperty ("line.separator") + line2;

2.3. Platformonafhankelijke Newline-tekens gebruiken

Hoewel lijnscheidingstekens platformonafhankelijkheid bieden, dwingen ze ons om onze strings samen te voegen.

Als we zoiets als System.out.printf of String.format, dan de platformonafhankelijk newline-karakter, % n, kan direct binnen een string worden gebruikt:

rhyme = "Humpty Dumpty zat op een muur.% nHumpty Dumpty had een grote val.";

Dit is hetzelfde als inclusief System.lineSeparator () binnen onze string, maar we hoeven de string niet in meerdere delen te verdelen.

3. Newline-tekens toevoegen aan een HTML-pagina

Stel dat we een string maken die deel uitmaakt van een HTML-pagina. In dat geval kunnen we een HTML-break-tag toevoegen

We kunnen ook Unicode-tekens gebruiken “& #13;” (Carriage Return) en “& #10;” (Line Feed). Hoewel deze karakters werken, werken ze niet precies zoals we zouden verwachten dat ze op alle platforms zouden werken. In plaats daarvan is het beter om te gebruiken

Bovendien kunnen we gebruiken "\ N" in sommige HTML-elementen om een ​​lijn te doorbreken.

Over het algemeen zijn dit de drie methoden om een ​​regel in HTML te doorbreken. We kunnen beslissen welke we gebruiken, afhankelijk van de HTML-tag die we gebruiken.

3.1. HTML-afbrekingstag

We kunnen HTML-break-tag gebruiken

rijm = line1 + "

"+ regel2;

De

tag voor het breken van een lijn werkt in bijna alle HTML-elementen, zoals ,

,

,
enz. Merk echter op dat het niet werkt in de label.

3.2. Newline-teken

We kunnen gebruiken ‘\ N ' om een ​​regel af te breken als er tekst tussen staat

 of  label:

rijm = regel1 + "\ n" + regel2;

3.3. Unicode-tekens

Ten slotte kunnen we Unicode-tekens gebruiken “& #13;” (Carriage Return) en “& #10;” (Line Feed) om een ​​regel te breken. Bijvoorbeeld in de tag kunnen we een van deze gebruiken:

rijm = regel1 + "" + regel2; rijm = regel1 + "" + regel2; 

Voor de

 tag, zullen beide onderstaande regels werken:

rijm = regel1 + "" + regel2; rijm = regel1 + "" + regel2; 

4. Het verschil tussen \ n en \ r

\ r en \ n zijn tekens die worden aangeduid met ASCII-waarden van respectievelijk 13 (CR) en 10 (LF). Zebeide vertegenwoordigen een breuk tussen twee regels, maar besturingssystemen gebruiken ze anders.

In Windows wordt een reeks van twee tekens gebruikt om een ​​nieuwe regel te beginnen, CR onmiddellijk gevolgd door LF. Omgekeerd wordt op Unix-achtige systemen alleen LF gebruikt.

Bij het schrijven van Java-applicaties moeten we letten op de regeleinde-tekens die we gebruiken, omdat de applicaties zich anders zullen gedragen, afhankelijk van het besturingssysteem waarop ze worden uitgevoerd.

De veiligste en meest compatibele optie is om te gebruiken System.lineSeparator (). Zo hoeven we geen rekening te houden met het besturingssysteem.

5. Conclusie

In dit artikel hebben we besproken hoe u newline-tekens aan een string in Java kunt toevoegen.

We hebben ook gezien hoe we platformonafhankelijke code voor een nieuwe regel kunnen schrijven met System.lineSeparator () en System.getProperty ("line.separator").

Ten slotte hebben we besloten hoe we een nieuwe regel kunnen toevoegen voor het geval we een HTML-pagina genereren.

De volledige implementatie van dit artikel is te vinden op GitHub.


$config[zx-auto] not found$config[zx-overlay] not found