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 erotinmerkillä erotettu osamerkkijono.
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 voimme 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 merkkijonoa, jonka avulla jaamme merkkijonon. Voimme syöttää välilyönnin " " regex-parametriksi, jolloin lause jaetaan sanoiksi.
Tarkastellaan esimerkkiä:
Main.java
12345678910111213141516171819package 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 " " osoittamaan 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
12345678910111213141516171819package 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:n osan. Toisin sanoen, kun jaoimme merkkijonon "/"-merkin kohdalta, saimme taulukon merkkijonoja.
Saatat myös huomata, että menetelmä poistaa määritetyn merkin tulostaulukosta jaettaessa.
Merkkijonon jakaminen yksittäisiin merkkeihin String-tyypillä
Jotta merkkijono voidaan jakaa taulukoksi jokaisen yksittäisen merkin kohdalta, voidaan parametrina käyttää tyhjiä lainausmerkkejä "". Katsotaanpa esimerkkiä:
Main.java
123456789101112131415161718192021package 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 olisi olemassa oma menetelmä, kuten toCharArray(), mutta ero on siinä, että käytettäessä split()-menetelmää saadaan taulukko, jonka alkiot ovat tyyppiä String, kun taas toCharArray() palauttaa suoraan taulukon, jonka alkiot ovat tyyppiä char.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you show me an example of using the split() method in Java?
What is the difference between split() and toCharArray()?
How do I use regex with the split() method?
Awesome!
Completion rate improved to 2.63
Split()-metodi
Pyyhkäise näyttääksesi valikon
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 erotinmerkillä erotettu osamerkkijono.
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 voimme 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 merkkijonoa, jonka avulla jaamme merkkijonon. Voimme syöttää välilyönnin " " regex-parametriksi, jolloin lause jaetaan sanoiksi.
Tarkastellaan esimerkkiä:
Main.java
12345678910111213141516171819package 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 " " osoittamaan 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
12345678910111213141516171819package 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:n osan. Toisin sanoen, kun jaoimme merkkijonon "/"-merkin kohdalta, saimme taulukon merkkijonoja.
Saatat myös huomata, että menetelmä poistaa määritetyn merkin tulostaulukosta jaettaessa.
Merkkijonon jakaminen yksittäisiin merkkeihin String-tyypillä
Jotta merkkijono voidaan jakaa taulukoksi jokaisen yksittäisen merkin kohdalta, voidaan parametrina käyttää tyhjiä lainausmerkkejä "". Katsotaanpa esimerkkiä:
Main.java
123456789101112131415161718192021package 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 olisi olemassa oma menetelmä, kuten toCharArray(), mutta ero on siinä, että käytettäessä split()-menetelmää saadaan taulukko, jonka alkiot ovat tyyppiä String, kun taas toCharArray() palauttaa suoraan taulukon, jonka alkiot ovat tyyppiä char.
Kiitos palautteestasi!