Kursinnhold
Java Utvidet
Java Utvidet
Metode Split()
String[] split(String delimiter)
Metoden split(String delimiter)
deler en streng i et array av delstrenger basert på den angitte skilletegnet (et tegn eller en sekvens av tegn). Den returnerer et array hvor hvert element er en delstreng fra originalstrengen, adskilt av skilletegnet.
Hvordan splitte String til String[]
Anta at vi har en oppgave der vi skal dele en setning opp i et array av ord. I dette tilfellet kan vi enten append
til vi møter et mellomromstegn (" "
), eller vi kan bruke split()
-metoden.
Metoden split()
er en metode i String
-klassen som tar en regex
som parameter. Hva er regex
? Regex
står for regulært uttrykk, som i hovedsak er et tegn eller et sett med tegn vi bruker for å dele opp strengen vår. Vi kan skrive inn et mellomromstegn " "
i regex, og da vil setningen bli delt opp i ord.
La oss 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 delt strengen inn i et array av ord. Vi brukte " "
for å angi til programmet at det skal dele opp setningen ved hver forekomst av " "
.
Hvordan splitte en streng ved et spesifikt tegn
Vi kan også splitte strengen vår ved hjelp av et annet tegn. For eksempel, la oss splitte lenken ved forekomsten av 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 delt opp URL-en i separate deler ved hver forekomst av tegnet "/"
, og nå kan vi se hvert element i URL-en. Med andre ord, når vi deler opp strengen ved tegnet "/"
, får vi et array av strenger.
Du legger kanskje også merke til at metoden fjerner det angitte tegnet fra det resulterende arrayet ved splitting.
Hvordan dele opp en streng i tegn med String-type
For å dele opp en streng i et array ved hver forekomst av et enkelt tegn, kan vi ganske enkelt bruke tomme anførselstegn ""
som parameter. La oss 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 delt opp strengen i individuelle bokstaver. Du tenker kanskje at det finnes en spesifikk metode for dette, som toCharArray()
, men forskjellen er at når vi bruker split()
-metoden, får vi et array med elementer av typen String
, mens vi med toCharArray()
får et array med elementer av typen char
.
Takk for tilbakemeldingene dine!