Kursusindhold
Java Udvidet
Java Udvidet
Metode Split()
String[] split(String delimiter)
Metoden split(String delimiter)
opdeler en streng i et array af delstrenge baseret på den angivne afgrænser (et tegn eller en tegnsekvens). Den returnerer et array, hvor hvert element er en delstreng fra den oprindelige streng, adskilt af afgrænseren.
Sådan opdeles String til String[]
Antag, at vi har til opgave at opdele en sætning i et array af ord. I dette tilfælde kan vi enten append
indtil vi støder på et mellemrumstegn (" "
), eller vi kan bruge split()
-metoden.
Metoden split()
er en String
-metode, der tager en regex
som parameter. Hvad er regex
? Regex
står for regular expression (regulært udtryk), hvilket grundlæggende er et tegn eller et sæt af tegn, som vi bruger til at opdele vores streng. Vi kan indsætte et mellemrumstegn " "
i regex, og så vil sætningen blive opdelt i ord.
Lad os se på et eksempel:
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 + " "); } } }
Her har vi opdelt strengen i et array af ord. Vi brugte " "
for at angive til programmet, at det skulle opdele sætningen ved hver forekomst af " "
.
Sådan opdeles en String efter et specifikt tegn
Vi kan også opdele vores streng ved hjælp af et hvilket som helst andet tegn. For eksempel kan vi opdele linket ved forekomsten af tegnet "/"
.
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 opdelt URL'en i separate dele ved hver forekomst af tegnet "/"
, og nu kan vi se hvert element i URL'en. Med andre ord, når vi opdeler strengen ved tegnet "/"
, får vi et array af strenge.
Du bemærker måske også, at metoden fjerner det angivne tegn fra det resulterende array under opdelingen.
Sådan opdeles en streng i tegn med String-typen
For at opdele en streng i et array ved hver forekomst af et enkelt tegn, kan vi blot bruge tomme anførselstegn ""
som parameter. Lad os se på et eksempel:
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 opdelt strengen i individuelle bogstaver. Du tænker måske, at der findes en specifik metode til dette, såsom toCharArray()
, men forskellen er, at når vi bruger split()
-metoden, får vi et array af elementer af typen String
, mens vi med toCharArray()
direkte får et array af elementer af typen char
.
Tak for dine kommentarer!