Java String split ()

Kaedah Java String split () membahagikan rentetan pada regex yang ditentukan dan mengembalikan array substring.

Sintaks split()kaedah rentetan adalah:

 string.split(String regex, int limit)

Di sini, rentetan adalah objek Stringkelas.

split () Parameter

split()Kaedah tali boleh mengambil dua parameter:

  • regex - rentetan dibahagi pada regex ini (boleh menjadi rentetan)
  • had (pilihan) - mengawal bilangan substring yang dihasilkan

Sekiranya limitparameter tidak dilalui, split()mengembalikan semua kemungkinan substring.

split () Nilai Pulangan

  • mengembalikan pelbagai substring

Catatan: Jika ungkapan biasa yang dilewatkan split()tidak sah, split()kaedah ini menimbulkan PatternSyntaxExpressionpengecualian.

Contoh 1: split () Tanpa had Parameter

 // importing Arrays to convert array to string // used for printing arrays import java.util.Arrays; class Main ( public static void main(String() args) ( String vowels = "a::b::c::d:e"; // splitting the string at "::" // storing the result in an array of strings String() result = vowels.split("::"); // converting array to string and printing it System.out.println("result = " + Arrays.toString(result)); ) )

Pengeluaran

 hasil = (a, b, c, d: e)

Di sini, kami membahagikan rentetan di ::. Oleh kerana limitparameter tidak dilalui, array yang dikembalikan mengandungi semua substring.

split () Dengan Parameter had

  • Sekiranya limitparameter 0 atau negatif, split()mengembalikan array yang mengandungi semua substring.
  • Sekiranya limitparameter positif (katakanlah n), split()mengembalikan maksimum nsubstring.

Contoh 2: split () Dengan Parameter had

 // importing Arrays to convert array to string import java.util.Arrays; class Main ( public static void main(String() args) ( String vowels = "a:bc:de:fg:h"; // splitting array at ":" // limit is -2; array contins all substrings String() result = vowels.split(":", -2); System.out.println("result when limit is -2 = " + Arrays.toString(result)); // limit is 0; array contains all substrings result = vowels.split(":", 0); System.out.println("result when limit is 0 = " + Arrays.toString(result)); // limit is 2; array contains a maximum of 2 substrings result = vowels.split(":", 2); System.out.println("result when limit is 2 = " + Arrays.toString(result)); // limit is 4; array contains a maximum of 4 substrings result = vowels.split(":", 4); System.out.println("result when limit is 4 = " + Arrays.toString(result)); // limit is 10; array contains a maximum of 10 substrings result = vowels.split(":", 10); System.out.println("result when limit is 10 = " + Arrays.toString(result)); ) )

Pengeluaran

 hasil apabila had adalah -2 = (a, bc, de, fg, h) hasil apabila had adalah 0 = (a, bc, de, fg, h) hasil apabila had adalah 2 = (a, bc: de: fg: h) hasil apabila had adalah 4 = (a, bc, de, fg: h) hasil apabila had adalah 10 = (a, bc, de, fg, h)

Catatan: Kaedah split () mengambil regex sebagai argumen pertama. Jika anda perlu menggunakan aksara khas seperti: , |, ^, *, +dan lain-lain, anda perlu untuk melarikan diri watak-watak ini. Sebagai contoh, kita perlu gunakan \+untuk membelah di +.

Contoh 3: split () pada watak +

 // importing Arrays to convert array to string // used for printing arrays import java.util.Arrays; class Main ( public static void main(String() args) ( String vowels = "a+e+f"; // splitting the string at "+" String() result = vowels.split("\+"); // converting array to string and printing it System.out.println("result = " + Arrays.toString(result)); ) )

Pengeluaran

 hasil = (a, e, f)

Di sini, untuk membelah rentetan di +, kami telah menggunakan \+. Ini kerana +watak khas (mempunyai makna khas dalam ungkapan biasa).

Artikel menarik...