5 sätt att manipulera strängar i Java

Innehållsförteckning:

5 sätt att manipulera strängar i Java
5 sätt att manipulera strängar i Java

Video: 5 sätt att manipulera strängar i Java

Video: 5 sätt att manipulera strängar i Java
Video: Windows Event and Logging for the IT Pro 2024, April
Anonim

Strängar är sekvenser av karaktärer. Till exempel "Hej!" är en sträng eftersom den består av tecknen 'H', 'e', 'l', 'l', 'o' och '!'. I Java är strängar objekt, vilket innebär att det finns en strängklass som har fält och metoder. Vi kan använda strängklassens metoder för att manipulera strängar.

Steg

Metod 1 av 5: Skapa en sträng

3016567 1 1
3016567 1 1

Steg 1. Skapa en sträng med konstruktören för strängklassen

    String str = new String ("Hej!");

3016567 2 1
3016567 2 1

Steg 2. Skapa en sträng genom att direkt tilldela en sträng

3016567 3 1
3016567 3 1

Steg 3. Prova ett exempel

Här är ett exempelprogram som skapar en sträng på två olika sätt.

    public class StringManipulation {public static void main (String args) {String str1 = new String ("Sträng skapad med en konstruktör!"); String str2 = "Sträng skapad utan konstruktör!"; System.out.println (str1); System.out.println (str2); }}

Metod 2 av 5: Hitta längden på en sträng

Steg 1. Förstå vad det innebär att hitta längden på en sträng

Strängens längd är antalet tecken som strängen innehåller. Till exempel längden på strängen "Hej!" är 6 eftersom den har 6 tecken.

3016567 5 1
3016567 5 1

Steg 2. Åkalla

längd()

metod på String -objektet och lagra resultatet i en heltalsvariabel.

    int strLength = str.length ();

3016567 6 1
3016567 6 1

Steg 3. Ge det en chans

Här är ett exempelprogram som hittar längden på en sträng.

    public class StringManipulation {public static void main (String args) {String str = "Hej!"; int strLength = str.length (); System.out.println ("Längden på \" " + str +" / "är" + strLength + "."); }}

Metod 3 av 5: Omvänd en sträng

3016567 7
3016567 7

Steg 1. Förstå vad det innebär att vända en sträng

Att vända en sträng innebär att ändra ordningen på tecknen i en sträng. Till exempel baksidan av strängen "Hej!" är "! olleH". Det finns många sätt att vända en sträng i Java.

3016567 8 1
3016567 8 1

Steg 2. Använd omvänd metod för klassen StringBuffer

Skapa ett StringBuffer -objekt som tar in strängen som du vill backa som parameter. Använd metoden StringBuffers reverse () och hämta sedan den nyligen omvända strängen med toString () -metoden.

    public class StringManipulation {public static void main (String args) {String str = "Hej!"; StringBuffer buffert = ny StringBuffer (str); String reversedStr = buffer.reverse (). ToString (); System.out.println ("Strängens baksida \" " + str +" / "är \" " + reversedStr +" / "."); }}

3016567 9 1
3016567 9 1

Steg 3. Iterera genom tecknen i en sträng i omvänd ordning, lägga till dessa tecken i en StringBuffer vid varje iteration

Skapa ett nytt StringBuffer -objekt initierat med längden på strängen som du vill backa som parameter. Använd sedan en for loop för att iterera genom strängen, med början från det sista tecknet i strängen och slutar med det första tecknet i strängen. Lägg till tecknet vid indexet i varje iteration till StringBuffer. Hämta den nyligen omvända strängen med metoden toString ().

    public class StringManipulation {public static void main (String args) {String str = "Hej!"; StringBuffer buffert = ny StringBuffer (str.length ()); for (int i = str.length ()-1; i> = 0; i--) {buffer.append (str.charAt (i)); } String reversedStr = buffer.toString (); System.out.println ("Strängens baksida \" " + str +" / "är \" " + reversedStr +" / "."); }}

3016567 10 1
3016567 10 1

Steg 4. Skriv en rekursiv funktion för att vända strängen

I den rekursiva funktionen är basfallet / villkoret om strängen är null eller om strängens längd är mindre än eller lika med ingen. Annars kallas omvänd () -metoden igen med strängen minus det första tecknet, och det första tecknet klibbas på i slutet. Så om vi skickade in strängen "Hej!", Kommer det första omvända () -samtalet efter det att ha parametern "ello!".

    public class StringManipulation {public static void main (String args) {String str = "Hej!"; String reversedStr = reverse (str); System.out.println ("Strängens baksida \" " + str +" / "är \" " + reversedStr +" / "."); } privat statisk Sträng omvänd (String str) {if (str == null || str.length () <= 1) return str; return back (str.substring (1)) + str.charAt (0); }}

3016567 11 1
3016567 11 1

Steg 5. Konvertera strängen till en rad tecken och byt sedan den första och sista, andra och näst sista, etc

tecken. Konvertera först strängen till en rad tecken med hjälp av metoden toCharArray () på strängen. Få indexet för det sista tecknet i matrisen, vilket är lika med matrisens längd minus ett. Iterera sedan genom arrayen och byt ith tecken och indexOfLastChar - ith karaktär vid varje iteration. Slutligen konvertera teckenuppsättningen tillbaka till en sträng.

    public class StringManipulation {public static void main (String args) {String str = "Hej!"; char charArray = str.toCharArray (); int indexOfLastChar = charArray.length - 1; för (int i = 0; i <charArray.length/2; i ++) {char temp = charArray ; charArray = charArray [indexOfLastChar - i]; charArray [indexOfLastChar - i] = temp; } String reversedStr = new String (charArray); System.out.println ("Strängens baksida \" " + str +" / "är \" " + reversedStr +" / "."); }}

3016567 12 1
3016567 12 1

Steg 6. Granska din produktion

Här är utdata som är resultatet av någon av dessa metoder för strängomvändning.

Metod 4 av 5: Trimma vitt utrymme i en sträng

3016567 13
3016567 13

Steg 1. Förstå vad det innebär att trimma vitt utrymme i en sträng

Att trimma en sträng i Java innebär att ta bort det ledande och bakre vita utrymmet i strängen. Om du till exempel har strängen"

Hej världen!

"och du vill att den ska säga" Hej, värld! "utan det vita utrymmet i början och i slutet kan du trimma strängen. Strängklassen ger en metod för att trimma () som returnerar en kopia av strängen med ledande och bakre vitt utrymme tas bort eller originalsträngen om det inte har något ledande eller bakre vitt utrymme.

3016567 14 1
3016567 14 1

Steg 2. Använd trim () -metoden för strängklassen på ett String -objekt för att trimma det vita utrymmet

Observera att trim () -metoden gör ett undantag om strängen är null. Metoden trim () ändrar inte innehållet i den ursprungliga strängen eftersom strängar i Java är oföränderliga, vilket innebär att en strängs tillstånd inte kan ändras efter att den har skapats. Snarare kommer trim () -metoden att returnera en ny sträng som har sitt blanksteg trimmat av.

    Sträng trimmadStr = str.trim ();

Steg 3. Prova ett exempel

Här är ett exempelprogram som trimmer det vita utrymmet i en sträng:

    public class StringManipulation {public static void main (String args) {String str = "Hej!"; Sträng trimmadStr = str.trim (); System.out.println ("Originalsträngen är \" " + str +" / "."); System.out.println ("Trimmad sträng är \" " + trimmedStr +" / "."); }}

Metod 5 av 5: Dela en sträng

3016567 16
3016567 16

Steg 1. Förstå vad det innebär att dela en sträng

Att dela upp en sträng i Java innebär att dela en sträng med en viss avgränsare i en rad substrings. Om jag till exempel delar strängen "röd, blå, grön, gul, rosa" med ett kommatecken som avgränsare, skulle jag få matrisen {"röd", "blå", "grön", "gul", "rosa "}. Här är tre olika sätt att dela en sträng.

3016567 17 1
3016567 17 1

Steg 2. Använd

StringTokenizer

för att symbolisera strängen.

Importera

java.util. StringTokenizer

. Skapa sedan en ny instans av a

StringTokenizer

med strängen att tokenize och avgränsaren som parametrar. Om du inte anger avgränsaren som en parameter, kommer avgränsaren automatiskt att ställas in som vitt utrymme. Efter att du har

StringTokenizer

du kan använda

nextToken ()

metod för att få varje token.

    importera java.util. Arrays; importera java.util. StringTokenizer; public class StringManipulation {public static void main (String args) {String str = "röd, grön, blå, gul, rosa"; StringTokenizer tokenizer = ny StringTokenizer (str, ","); int numberOfTokens = tokenizer.countTokens (); String splitArr = new String [numberOfTokens]; för (int i = 0; i <numberOfTokens; i ++) {splitArr = tokenizer.nextToken (); } System.out.println ("\ nOriginal sträng:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}

  • Innan Java 1.4,

    StringTokenizer

    klass användes för att dela strängar i Java. Men nu, användningen av

    StringTokenizer

    är avskräckt och användningen av

    dela()

    metod i

    Sträng

    klass eller användningen av

    java.util.regex

  • paket uppmuntras.
3016567 18 1
3016567 18 1

Steg 3. Använd

Sträng

klassens

dela()

metod.

De

dela()

metoden tar in avgränsaren som parametern och returnerar en rad understrängar som är desamma som tokens från

StringTokenizer

    importera java.util. Arrays; public class StringManipulation {public static void main (String args) {String str = "röd, grön, blå, gul, rosa"; String splitArr = str.split (","); System.out.println ("\ nOriginal sträng:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}

3016567 19 1
3016567 19 1

Steg 4. Använd reguljära uttryck för att dela strängen

Importera

java.util.regex. Pattern

. Använd

sammanställa()

metod för

Mönster

klass för att ställa in avgränsaren och sedan ge

dela()

metod strängen som du vill dela. De

Mönster

kommer att returnera en rad substrings.

    importera java.util. Arrays; importera java.util.regex. Pattern; public class StringManipulation {public static void main (String args) {String str = "röd, grön, blå, gul, rosa"; String splitArr = Pattern.compile (",").split (str); System.out.println ("\ nOriginal sträng:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}

3016567 20 1
3016567 20 1

Steg 5. Granska din produktion

Här är utmatningen som följer av någon av dessa metoder för att dela strängar.

Rekommenderad: