Tilføjelse af en Newline-karakter til en streng i Java

1. Oversigt

Strengformatering og generering af tekstoutput kommer ofte op under programmering. I mange tilfælde er der behov for at tilføje en ny linje til en streng for at formatere output.

Lad os diskutere, hvordan du bruger newline-tegn.

2. Tilføjelse af nye linjetegn i en streng

Operativsystemer har specialtegn, der angiver starten på en ny linje. For eksempel, i Linux er en ny linje betegnet med “\ n ”, også kaldet a Line Feed. I Windows betegnes en ny linje ved hjælp af “\ r \ n ”, undertiden kaldet en Vognretur og Line Feed, eller CRLF.

Tilføjelse af en ny linje i Java er så simpelt som at inkludere “\ n ” , “\ r ”, eller “\r\ n ” i slutningen af ​​vores streng.

2.1. Brug af CRLF Line-Breaks

I dette eksempel ønsker vi at oprette et afsnit ved hjælp af to tekstlinjer. Specifikt ønsker vi linje2 vises i en ny linje efter linje1.

Til et Unix / Linux / nyt Mac-baseret OS kan vi bruge “\ n ”:

String line1 = "Humpty Dumpty sad på en væg."; String line2 = "Humpty Dumpty havde et stort fald."; Strengrim = linje1 + "\ n" + linje2;

Hvis vi har et Windows-baseret operativsystem, kan vi bruge “\ r \ n ”:

rim = linje1 + "\ r \ n" + linje2;

For et gammelt Mac-baseret OS kan vi bruge “\ r ”:

rim = linje1 + "\ r" + linje2;

Vi har demonstreret tre metoder til at tilføje en ny linje, men desværre er de platformafhængige.

2.2. Brug af platformuafhængige linjeseparatorer

Vi kan bruge systemdefinerede konstanter, når vi ønsker, at vores kode skal være platformuafhængig.

For eksempel ved hjælp af System.lineSeparator () for at give en linjeseparator:

rim = linje1 + System.lineSeparator () + linje2;

Eller vi kunne også bruge System.getProperty (“line.separator”):

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

2.3. Brug af platformuafhængige Newline-tegn

Selvom linjeseparatorer giver platformuafhængighed, tvinger de os til at sammenkæde vores strenge.

Hvis vi bruger noget lignende System.out.printf eller Streng.format, derefter platformuafhængig newline-karakter, % n, kan bruges direkte i en streng:

rim = "Humpty Dumpty sad på en væg.% nHumpty Dumpty havde et stort fald.";

Dette er det samme som at inkludere System.lineSeparator () inden for vores streng, men vi behøver ikke opdele strengen i flere dele.

3. Tilføjelse af nye linjetegn på en HTML-side

Antag, at vi opretter en streng, der er en del af en HTML-side. I så fald kan vi tilføje et HTML-brudtag

Vi kan også bruge Unicode-tegn “& #13;” (Vognretur) og “& #10;” (Line Feed). Selvom disse tegn fungerer, fungerer de ikke nøjagtigt, som vi måske forventer, at de skal på tværs af alle platforme. I stedet er det bedre at bruge

Derudover kan vi bruge “\ N” i nogle HTML-elementer for at bryde en linje.

Samlet set er dette de tre metoder til at bryde en linje i HTML. Vi kan beslutte, hvilken der skal bruges, afhængigt af det HTML-tag, vi bruger.

3.1. HTML Break Tag

Vi kan bruge HTML break-tag

rim = linje1 + "

"+ linje2;

Det

tag for at bryde en linje fungerer i næsten alle HTML-elementer som ,

,

,
osv. Bemærk dog, at det ikke fungerer i tag.

3.2. Newline-karakter

Vi kan bruge '\ N' at bryde en linje, hvis teksten er vedlagt

 eller  tag:

rim = linje1 + "\ n" + linje2;

3.3. Unicode-tegn

Endelig kan vi bruge Unicode-tegn “& #13;” (Vognretur) og “& #10;” (Line Feed) for at bryde en linje. For eksempel i tag, vi kan bruge en af ​​disse:

rim = linje1 + "" + linje2; rim = linje1 + "" + linje2; 

Til

 tag, begge nedenstående linjer fungerer:

rim = linje1 + "" + linje2; rim = linje1 + "" + linje2; 

4. Forskellen mellem \ n og \ r

\ r og \ n er tegn angivet med ASCII-værdier på henholdsvis 13 (CR) og 10 (LF). Debegge repræsenterer en pause mellem to linjer, men operativsystemer bruger dem forskelligt.

På Windows bruges en sekvens på to tegn til at starte en ny linje, CR straks efterfulgt af LF. Omvendt anvendes kun LF på Unix-lignende systemer.

Når vi skriver Java-applikationer, skal vi være opmærksomme på de linjeskifttegn, vi bruger, fordi applikationerne opfører sig forskelligt afhængigt af det operativsystem, de kører på.

Den sikreste og mest krydskompatible mulighed er at bruge System.lineSeparator (). På denne måde behøver vi ikke tage operativsystemet i betragtning.

5. Konklusion

I denne artikel diskuterede vi, hvordan man tilføjer newline-tegn til en streng i Java.

Vi så også, hvordan man skriver platformuafhængig kode til en ny linje ved hjælp af System.lineSeparator () og System.getProperty (“line.separator”).

Endelig afsluttede vi, hvordan vi tilføjer en ny linje, hvis vi genererer en HTML-side.

Den fulde implementering af denne artikel kan findes på GitHub.