Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Split()-metodi | Merkkijonon Jatkotaso
Java Laajennettu
course content

Kurssisisältö

Java Laajennettu

Java Laajennettu

1. Syvällinen Java-rakenne
2. Metodit
3. Merkkijonon Jatkotaso
4. Luokat
5. Luokat Jatko

book
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

Main.java

copy
12345678910111213141516171819
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

Main.java

copy
12345678910111213141516171819
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

Main.java

copy
123456789101112131415161718192021
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.

question mark

Mikä on tämän koodin tulos?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

course content

Kurssisisältö

Java Laajennettu

Java Laajennettu

1. Syvällinen Java-rakenne
2. Metodit
3. Merkkijonon Jatkotaso
4. Luokat
5. Luokat Jatko

book
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

Main.java

copy
12345678910111213141516171819
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

Main.java

copy
12345678910111213141516171819
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

Main.java

copy
123456789101112131415161718192021
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.

question mark

Mikä on tämän koodin tulos?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2
some-alt