Phương thức Java String split () chia chuỗi tại regex được chỉ định và trả về một mảng các chuỗi con.
Cú pháp của split()
phương thức chuỗi là:
string.split(String regex, int limit)
Ở đây, string là một đối tượng của String
lớp.
Tham số split ()
split()
Phương thức chuỗi có thể nhận hai tham số:
- regex - chuỗi được chia tại regex này (có thể là chuỗi)
- giới hạn (tùy chọn) - kiểm soát số lượng các chuỗi con kết quả
Nếu limit
tham số không được truyền, split()
trả về tất cả các chuỗi con có thể có.
split () Giá trị trả lại
- trả về một mảng các chuỗi con
Lưu ý: Nếu biểu thức chính quy được chuyển đến split()
không hợp lệ, split()
phương thức sẽ tăng PatternSyntaxExpression
ngoại lệ.
Ví dụ 1: split () Không giới hạn Tham số
// 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)); ) )
Đầu ra
kết quả = (a, b, c, d: e)
Ở đây, chúng tôi chia chuỗi tại ::
. Vì limit
tham số không được truyền nên mảng trả về chứa tất cả các chuỗi con.
split () Với Tham số giới hạn
- Nếu
limit
tham số là 0 hoặc âm,split()
trả về một mảng chứa tất cả các chuỗi con. - Nếu
limit
tham số là dương (giả sửn
),split()
trả về tối đa cácn
chuỗi con.
Ví dụ 2: split () Với tham số giới hạn
// 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)); ) )
Đầu ra
kết quả khi giới hạn là -2 = (a, bc, de, fg, h) kết quả khi giới hạn là 0 = (a, bc, de, fg, h) kết quả khi giới hạn là 2 = (a, bc: de: fg: h) kết quả khi giới hạn là 4 = (a, bc, de, fg: h) kết quả khi giới hạn là 10 = (a, bc, de, fg, h)
Lưu ý: Phương thức split () nhận regex làm đối số đầu tiên. Nếu bạn cần phải sử dụng ký tự đặc biệt như: ,
|
, ^
, *
, +
vv, bạn cần phải thoát khỏi những nhân vật này. Ví dụ, chúng ta cần sử dụng \+
để tách tại +
.
Ví dụ 3: split () ở ký tự +
// 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)); ) )
Đầu ra
kết quả = (a, e, f)
Ở đây, để tách một chuỗi tại +
, chúng tôi đã sử dụng \+
. Đó là vì +
là một ký tự đặc biệt (có ý nghĩa đặc biệt trong biểu thức chính quy).