Slik fjerner en Newline fra en streng i Java

Fjerne tegn fra tekststrenger er en vanlig programmering oppgave. Java strenger gir en rekke funksjoner for behandling tegn. Fjerne linjeskift fra en Java streng er ikke vanskelig. Du kan opprette en egen metode for å utføre denne oppgaven ut, bruker den når du trenger den funksjonaliteten. Typiske scenarier der du kanskje ønsker å stripe ut linjeskift eller andre tegn inkluderer de hvor programmet har importert tekst fra noen ekstern ressurs og forsøker å behandle den.

Bruksanvisning

1 Forbered teksten du ønsker å behandle. Hvis programmet er å lese teksten i fra en ekstern ressurs som en tekstfil, kan det inneholde tekst strukturert som følger:

Her er litt tekst

med et linjeskift i den.

For å gjenskape dette for demonstrasjonen, opprette en streng objekt med lignende innhold som følger:

String sample = "Her er litt tekst \ n med et linjeskift i den.";

2 Fjern linjeskift fra streng. Ved hjelp av følgende syntaks, erstatte alle forekomster av linjeskift i strengen med en tom streng som følger:

sample.replaceAll ( "\ n", "");

Men dette betyr ikke påvirke din opprinnelige streng variabel, så endre det slik:

sample = sample.replaceAll ( "\ n", "");

Strenger er uforanderlige, noe som betyr at du utfører erstatte operasjonen faktisk genererer en ny streng i stedet for å påvirke den opprinnelige. Du må derfor oppdatere objekt referanse ved å tildele resultatet av å erstatte driften til det opprinnelige variabelnavn.

3 Tilpass operasjon for å imøtekomme flere miljøer. Ulike operativsystemer og applikasjoner rekordlinjeskifttegn på forskjellige måter. For eksempel kan du alternativt inkludere et linjeskift ved hjelp av "linjeskift" tegn som følger:

String sample = "Her er litt tekst \ r med linjeskift i den.";

For å imøtekomme dette, samt linjeskift, passere din erstatte metoden et regulært uttrykk som følger:

sample = sample.replaceAll ( "\ r | \ n", "");

Dette tar vare på både mulige linjeskift.

4 Alter koden din for å dekke den innkommende tekst. Hvis teksten blir lest fra en input-fil, vil det mest sannsynlig ikke har mellomrom rundt linjeskift. For eksempel kan den følgende strengen være en mer nøyaktig refleksjon av faktiske innhold:

String sample = "Her er litt tekst \ nmed et linjeskift i den.";

Dette betyr at hvis du fjerner linjeskiftet gir følgende tekst:

Her er noen textwith et linjeskift i den.

Legg merke til at to ord har kjørt sammen fordi linjeskift karakter var den eneste mellom dem. Løse dette ved å erstatte linjeskift med en plass i stedet for en tom karakter:

sample = sample.replaceAll ( "\ r | \ n", "");

5 Lagre filene dine og kjøre programmet for å teste den. Hvis du leser tekst fra noen ekstern ressurs, er det viktig å teste din søknad ved hjelp av faktiske eksempler på denne teksten for å sikre at dine algoritmer passer den. Eksperimenter med noen virkelige teksten prøver, endring av metode om nødvendig til den oppfører seg slik du trenger det til.

Hint

  • Husk at linjeskift i Java-programmer er tegn i sin egen rett.
  • Omfattende testing er nødvendig når du oppretter et program som er avhengig av ekstern inngang.