Cursusinhoud
Java Uitgebreid
Java Uitgebreid
Methode Split()
String[] split(String delimiter)
De methode split(String delimiter)
splitst een string in een array van substrings op basis van de opgegeven delimiter (een teken of reeks tekens). Het retourneert een array waarbij elk element een substring is uit de oorspronkelijke string, gescheiden door de delimiter.
String splitsen in String[]
Stel, we hebben de taak om een zin te splitsen in een array van woorden. In dit geval kunnen we ofwel append
gebruiken totdat we een spatie-teken (" "
) tegenkomen, of we kunnen de split()
-methode gebruiken.
De split()
-methode is een String
-methode die een regex
als parameter neemt. Wat is regex
? Regex
staat voor regular expression (reguliere expressie), wat in wezen een teken of een reeks tekens is die we gebruiken om onze string te splitsen. We kunnen een spatie-teken " "
invoeren in de regex, waarna onze zin wordt opgedeeld in woorden.
Laten we een voorbeeld bekijken:
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 + " "); } } }
Hier hebben we de string gesplitst in een array van woorden. We gebruikten " "
om aan te geven dat het programma de zin moet splitsen bij elke keer dat " "
voorkomt.
Hoe een String splitsen op een specifiek teken
We kunnen onze string ook splitsen met elk ander teken. Bijvoorbeeld, laten we de link splitsen bij het voorkomen van het teken "/"
.
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 + " "); } } }
We hebben de URL opgesplitst in afzonderlijke delen bij elke voorkoming van het teken "/"
, en nu kunnen we elk element van de URL zien. Met andere woorden, wanneer we de string splitsen op het teken "/"
, verkrijgen we een array van strings.
Je zult ook merken dat de methode het opgegeven teken verwijdert uit de resulterende array tijdens het splitsen.
Hoe een String splitsen in tekens met het type String
Om een string op te splitsen in een array bij elke voorkoming van een enkel teken, kunnen we eenvoudig lege aanhalingstekens ""
als parameter gebruiken. Laten we een voorbeeld bekijken:
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(); } }
We hebben de string opgesplitst in afzonderlijke letters. Je zou kunnen denken dat er een specifieke methode hiervoor is, zoals toCharArray()
, maar het verschil is dat wanneer we de split()
-methode gebruiken, we een array van elementen van het type String
verkrijgen, terwijl we met toCharArray()
direct een array van elementen van het type char
krijgen.
Bedankt voor je feedback!