Kursinnehåll
Java Fördjupad
Java Fördjupad
Metod split()
String[] split(String delimiter)
Metoden split(String delimiter)
delar upp en sträng i en array av delsträngar baserat på den angivna avgränsaren (en tecken eller teckensekvens). Den returnerar en array där varje element är en delsträng från ursprungssträngen, separerad av avgränsaren.
Hur man delar upp en String till String[]
Antag att vi har en uppgift att dela upp en mening i en array av ord. I detta fall kan vi antingen append
tills vi stöter på ett mellanslagstecken (" "
), eller så kan vi använda metoden split()
.
Metoden split()
är en metod för String
som tar ett regex
som parameter. Vad är regex
? Regex
står för reguljärt uttryck, vilket i princip är ett tecken eller en uppsättning tecken som vi använder för att dela upp vår sträng. Vi kan ange ett mellanslagstecken " "
i regex, och då kommer meningen att delas upp i ord.
Låt oss titta på ett exempel:
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String string = "This is the sentence that we want to split"; // split the string into an array based on spaces String[] array = string.split(" "); printArray(array); } // method to print each element of the array static void printArray(String[] array) { for (String element: array) { System.out.println(element + " "); } } }
Här har vi delat upp strängen i en array av ord. Vi använde " "
för att ange för programmet att det ska dela upp meningen vid varje förekomst av " "
.
Hur man delar en sträng med ett specifikt tecken
Vi kan också dela upp vår sträng med hjälp av ett annat tecken. Till exempel, låt oss dela upp länken vid förekomsten av tecknet "/"
.
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String link = "codefinity.com/profile/my-home"; // split the string into an array based on "/" String[] array = link.split("/"); printArray(array); // print the array elements } // method to print each element of the array static void printArray(String[] array) { for (String element: array) { System.out.println(element + " "); } } }
Vi har delat upp URL i separata delar vid varje förekomst av tecknet "/"
, och nu kan vi se varje element i URL:en. Med andra ord, när vi delar upp strängen vid tecknet "/"
, får vi en array av strängar.
Du kan också märka att metoden tar bort det angivna tecknet från den resulterande arrayen vid delning.
Hur man delar upp en sträng i tecken med String-typ
För att dela upp en sträng i en array vid varje förekomst av ett enskilt tecken kan vi helt enkelt använda tomma citattecken ""
som parameter. Låt oss titta på ett exempel:
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String string = "c<>definity"; // split the string into an array of individual characters String[] array = string.split(""); printArray(array); } // method to print each element of the array static void printArray(String[] array) { for (String element: array) { System.out.print(element + " "); } // print a new line after the array elements System.out.println(); } }
Vi har delat upp strängen i enskilda bokstäver. Du kanske tror att det finns en specifik metod för detta, som toCharArray()
, men skillnaden är att när vi använder metoden split()
får vi en array av element av typen String
, medan vi med toCharArray()
direkt får en array av element av typen char
.
Tack för dina kommentarer!