Legge til en Newline-karakter i en streng i Java

1. Oversikt

Strengformatering og generering av tekstoutput kommer ofte opp under programmering. I mange tilfeller er det behov for å legge til en ny linje i en streng for å formatere utdataene.

La oss diskutere hvordan du bruker newline-tegn.

2. Legge til nye linjetegn i en streng

Operativsystemer har spesialtegn som angir starten på en ny linje. For eksempel, i Linux betegnes en ny linje med “\ n ”, også kalt a Linjeskift. I Windows er en ny linje betegnet med "\ r \ n ”, noen ganger kalt a Vognretur og Linjeskift, eller CRLF.

Å legge til en ny linje i Java er så enkelt som å inkludere “\ n ” , “\ r ”, eller “\r\ n ” på slutten av strengen vår.

2.1. Bruke CRLF Line-Breaks

For dette eksemplet ønsker vi å lage et avsnitt ved hjelp av to tekstlinjer. Spesielt ønsker vi linje2 å vises i en ny linje etter linje 1.

For et Unix / Linux / nytt Mac-basert OS kan vi bruke “\ n ”:

String line1 = "Humpty Dumpty satt på en vegg."; String line2 = "Humpty Dumpty hadde et stort fall."; Strengrim = linje1 + "\ n" + linje2;

Hvis vi bruker et Windows-basert operativsystem, kan vi bruke “\ r \ n ”:

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

For et gammelt Mac-basert OS kan vi bruke “\ r ”:

rim = linje1 + "\ r" + linje2;

Vi har demonstrert tre metoder for å legge til en ny linje, men dessverre er de plattformavhengige.

2.2. Bruke plattformuavhengige linjeseparatorer

Vi kan bruke systemdefinerte konstanter når vi vil at koden vår skal være plattformuavhengig.

For eksempel ved å bruke System.lineSeparator () for å gi en linjeskiller:

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

Eller vi kan også bruke System.getProperty (“line.separator”):

rim = linje1 + System.getProperty ("linje.separator") + linje2;

2.3. Bruke plattformuavhengige Newline-tegn

Selv om linjeseparatorer gir plattformuavhengighet, tvinger de oss til å sammenkoble strengene våre.

Hvis vi bruker noe sånt System.out.printf eller String.format, og så plattformuavhengig newline-karakter, % n, kan brukes direkte i en streng:

rim = "Humpty Dumpty satt på en vegg.% nHumpty Dumpty hadde et stort fall.";

Dette er det samme som å inkludere System.lineSeparator () innenfor strengen vår, men vi trenger ikke å dele strengen i flere deler.

3. Legge til nye linjetegn på en HTML-side

Anta at vi lager en streng som er en del av en HTML-side. I så fall kan vi legge til en HTML break-tag

Vi kan også bruke Unicode-tegn “& #13;” (Vognretur) og “& #10;” (Linjeskift). Selv om disse figurene fungerer, fungerer de ikke akkurat som vi kan forvente at de skal gjøre på alle plattformer. I stedet er det bedre å bruke

I tillegg kan vi bruke “\ N” i noen HTML-elementer for å bryte en linje.

Samlet sett er dette de tre metodene for å bryte en linje i HTML. Vi kan bestemme hvilken vi vil bruke, avhengig av HTML-koden vi bruker.

3.1. HTML Break Tag

Vi kan bruke HTML break tag

rim = linje1 + "

"+ linje2;

De

tag for å bryte en linje fungerer i nesten alle HTML-elementer som ,

,

,
etc. Vær imidlertid oppmerksom på at det ikke fungerer i stikkord.

3.2. Newline-karakter

Vi kan bruke ‘\ N ' for å bryte en linje hvis teksten er vedlagt

 eller  stikkord:

rim = linje1 + "\ n" + linje2;

3.3. Unicode-tegn

Til slutt kan vi bruke Unicode-tegn “& #13;” (Vognretur) og “& #10;” (Line Feed) for å bryte en linje. For eksempel i tag vi kan bruke en av disse:

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

For

 begge linjene nedenfor fungerer:

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

4. Forskjellen mellom \ n og \ r

\ r og \ n er tegn betegnet med ASCII-verdier på henholdsvis 13 (CR) og 10 (LF). Debegge representerer et brudd mellom to linjer, men operativsystemer bruker dem annerledes.

På Windows brukes en sekvens på to tegn for å starte en ny linje, CR umiddelbart etterfulgt av LF. Omvendt, på Unix-lignende systemer, brukes bare LF.

Når du skriver Java-applikasjoner, må vi være oppmerksom på linjeskifttegnene vi bruker fordi applikasjonene vil oppføre seg annerledes, avhengig av operativsystemet de kjører på.

Det sikreste og mest krysskompatible alternativet er å bruke System.lineSeparator (). På denne måten trenger vi ikke ta hensyn til operativsystemet.

5. Konklusjon

I denne artikkelen diskuterte vi hvordan du legger til nye linjetegn i en streng i Java.

Vi så også hvordan vi kan skrive plattformuavhengig kode for en ny linje ved hjelp av System.lineSeparator () og System.getProperty (“line.separator”).

Til slutt avsluttet vi hvordan du legger til en ny linje i tilfelle vi genererer en HTML-side.

Den fulle implementeringen av denne artikkelen finner du på GitHub.


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