Java trimstrenger

Java trimstrenger
Når en datamaskinbruker legger inn tekst ved hjelp av terminalen eller tekstfeltet i et vindu i et vindu, kan den nyttige frasen bli gitt foran og/eller etterfulgt av hvitrommet. Whitespace, skrevet som Whitespace (for kort) er en eller flere av følgende rømningssekvenser som oppstår fortløpende: "eller '\ u0020': plass ved å trykke på romfeltnøkkelen
'\ n': linjefôr
'\ r': vognretur
'F': Form Feed
'\ t': horisontal fane

I en stor tekst må visse setninger som kreves lede og/eller etterpekte hvitespasninger. Når en slik setning blir trukket ut, kan det komme med ledende og/eller etterfølgende hvitrom. Uansett hvordan en nyttig frase oppnås, må den ledende eller etterfølgende hvitrommet fjernes for at uttrykket skal brukes riktig.

I javaen.langpakke, det er strengklassen. Denne strengklassen har en metode som heter Trim (). Trim () -metoden fjerner ledende og/eller etterfølgende plass fra en streng. Den returnerer strengen med det ledende og/eller etterfølgende hvitrommet fjernet.

I Java trenger ikke strengklassen å importeres; det importeres automatisk. For å bruke strengklassen i kode, må strengklassen skrives som "streng", med den første bokstaven i store bokstaver.

Demonstrere effekten av hvitrommet

Ledende og/eller etterfølgende hvitrom kan være en plage. Sett sammen og kjøre følgende program:

Klassen THECLASS
public static void main (String [] args)
String str = "\ t \ n \ r \ sikring av del \ t \ n \ r \ f";
System.ute.println (str);

I forfatterens datamaskin ble den "nyttige delen" skrevet ut med blanke linjer over og under den.

Ved hjelp av trim () -metoden

Trim () -metoden er enkel å bruke. Syntaksen er:

offentlig strengtrim ()

Følgende program illustrerer bruken:

Klassen THECLASS
public static void main (String [] args)
String str = "\ t \ n \ r \ sikring av del \ t \ n \ r \ f";
String ret = str.listverk();
System.ute.println (ret);

Utgangen er:

nyttig del

uten noe ledende eller etterfølgende hvitrom.

Håndtering av inngang fra konsoll

Java har flere måter å få innspill fra tastaturet inn i programmet. En av måtene bruker skannerklassen. Skannerklassen er i javaen.Utilpakke. Følgende program viser hvordan du får en linje fra tastaturet inn i programmet:

Importer Java.util.Skanner;
public class theclass
public static void main (String [] args)
Skanner obj = ny skanner (system.i);
System.ute.println ("Skriv inn en setning og trykk enter:");
Strengfrase = obj.NextLine ();
System.ute.println (setning);
obj.Lukk();

Den første linjen i programmet importerer skannerklassen. Etter det er det hovedklassedefinisjonen (implementering). Hovedklassen har hovedmetoden. I Main () -metoden instantierer den første uttalelsen skannerobjektet. Neste uttalelse skriver ut tekst til konsollen og ber brukeren skrive inn en setning. På dette tidspunktet venter programmet på at brukeren skriver inn en setning.

Neste uttalelse leser i inngangslinjen inn i variabelen, setningen. Følgende uttalelse i Main () -metoden displayer denne frasen slik den ble skrevet, med ethvert ledende eller etterfølgende plass. Den siste uttalelsen i Main () -metoden lukker skannerobjektet.

Ledende eller etterfølgende rom er vanligvis ikke ønsket fra tastaturinngangen. Det er enkelt å fjerne dem; ved bare å bruke trim () -metoden til strengobjektet. Følgende program illustrerer dette:

Importer Java.util.Skanner;
public class theclass
public static void main (String [] args)
Skanner obj = ny skanner (system.i);
System.ute.println ("Skriv inn en setning og trykk enter:");
Strengfrase = obj.NextLine ();
String str = setning.listverk();
System.ute.println (str);
obj.Lukk();

Ledende eller etterfølgende rom skrevet med romfelt-tasten ble fjernet.

Trimming med vanlig uttrykk

Med Java regelmessig uttrykk trenger ikke trim () -metoden å brukes. Et vanlig uttrykk er et uttrykk hvis hovedkomponent er et mønster. Et mønster er en streng med String metakaraktører. Et mønster vil identifisere en understreng med bestemte tegn i en målstreng. En slik understreng identifisert i målstrengen kan erstattes. Et vanlig uttrykk er en konstruksjon som holder mønsteret.

Målstrengen kan være inngangsstrengen som er lest fra tastaturet. Understrengen som skal identifiseres i dette emnet er det ledende og/eller etterfølgende hvitrommet. Husk at dette hvitområdet består av en eller flere av de forskjellige hvitespace -tegnene som er nevnt ovenfor. Når dette hvitområdet blir funnet i begynnelsen eller slutten av målstrengen, erstattes det med ingenting.

Mønsteret for dette hvitområdet er [\ u0020 \ t \ n \ r \ f]* eller \ s*. \ s betyr [\ u0020 \ t \ n \ r \ f]. Det vanlige uttrykket for å matche det ledende eller etterfølgende hvitrommet er:

"^[| \ t | \ n | \ r | \ f]*| [| \ t | \ n | \ r | \ f]*$"

Strengklassen har erstatningsmetoden som kan brukes til å fjerne det ledende og etterfølgende plassen fra målstrengen. I det følgende programmet er Rawstr strengen med Whitespaces. Det er to ord, "en" og "to", i denne strengen. Det er hvite rom foran “One”, etter “to” og mellom “en” og “to”. Programmet fjerner de ledende og etterfølgende hvite rommene og ikke de hvite rommene mellom "ett" og "to". Raffinedstr er strengvariabelen uten de ledende og etterfølgende hvite rommene. Det første argumentet for å erstatte () er det vanlige uttrykket. Det andre argumentet er erstatningen, som i dette tilfellet er en tom streng (uten engang Spacebar -karakteren). Programmet er:

public class theclass
public static void main (String [] args)
String rawstr = "\ t \ n \ r \ fone \ t \ n \ r \ ftwo \ t \ n \ r \ f";
String raffinedstr = rawstr.erstatning ("^[| \ t | \ n | \ r | \ f]*| [| \ t | \ n | \ r | \ f]*$", "");
System.ute.println (raffinedstr);

Så ved utgangen er det en tom linje mellom “en” og “to”.

Konklusjon

Å trimme en streng betyr å fjerne de ledende og etterfølgende hvitespasene. Et rom her består av en eller flere av "eller \ t eller \ n eller \ r eller \ f . Enhver kombinasjon av disse tegnene i teksten er ikke fjernet. Den beste måten å fjerne ledende og å lede plass fra en streng er å bruke Trim () -metoden i strengklassen. Strengklassen har også erstatningsmetoden, som kan brukes til trimming. Imidlertid trenger erstatningsmetoden kunnskap og erfaring med å bruke vanlige uttrykksteknikker, som illustrert ovenfor. Det første argumentet for å erstatte () er det vanlige uttrykket; Det andre argumentet er erstatningsteksten, som i dette tilfellet må være “.