Kurssisisältö
Java Laajennettu
Java Laajennettu
Split()-metodi
String[] split(String delimiter)
Metodi split(String delimiter)
jakaa merkkijonon taulukoksi osamerkkijonoja annetun erotinmerkin (yksi merkki tai merkkijono) perusteella. Se palauttaa taulukon, jossa jokainen alkio on alkuperäisestä merkkijonosta erotettu osamerkkijono, erotettuna annetulla erottimella.
Merkkijonon jakaminen String[]-taulukoksi
Oletetaan, että tehtävänä on jakaa lause sanojen taulukoksi. Tässä tapauksessa voimme joko append
merkkejä, kunnes kohtaamme välilyönnin (" "
), tai käyttää split()
-metodia.
Metodi split()
on String
-luokan metodi, joka ottaa parametrina regex
-ilmaisun. Mikä on regex
? Regex
tarkoittaa säännöllistä lauseketta, eli yhtä merkkiä tai merkkijoukkoa, jonka avulla jaamme merkkijonon. Voimme syöttää välilyönnin " "
regex-parametriksi, jolloin lause jaetaan sanoiksi.
Tarkastellaan esimerkkiä:
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 + " "); } } }
Tässä olemme jakaneet merkkijonon sanojen taulukoksi. Käytimme " "
ilmaistaksemme ohjelmalle, että lause tulee jakaa jokaisen " "
-merkin kohdalta.
Merkkijonon jakaminen tietyn merkin perusteella
Voimme myös jakaa merkkijonon minkä tahansa muun merkin avulla. Esimerkiksi jaetaan linkki "/"
-merkin kohdalta.
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 + " "); } } }
Olemme jakaneet URL-osoitteen erillisiksi osiksi jokaisen "/"
-merkin kohdalta, ja nyt voimme nähdä jokaisen URL-osoitteen osan. Toisin sanoen, kun jaoimme merkkijonon "/"
-merkin kohdalta, saimme taulukon merkkijonoja.
Saatat myös huomata, että menetelmä poistaa määritetyn merkin tuloksena syntyvästä taulukosta jaettaessa.
Merkkijonon jakaminen yksittäisiin merkkeihin String-tyyppisenä
Jos haluamme jakaa merkkijonon taulukoksi jokaisen yksittäisen merkin kohdalta, voimme yksinkertaisesti käyttää tyhjiä lainausmerkkejä ""
parametrina. Katsotaanpa esimerkkiä:
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(); } }
Olemme jakaneet merkkijonon yksittäisiksi kirjaimiksi. Saatat ajatella, että tähän on olemassa oma menetelmä, kuten toCharArray()
, mutta ero on siinä, että split()
-menetelmällä saamme taulukon, jonka alkiot ovat tyyppiä String
, kun taas toCharArray()
palauttaa suoraan taulukon, jonka alkiot ovat tyyppiä char
.
Kiitos palautteestasi!