Метод Java String split () ділить рядок у вказаному регулярному виразі та повертає масив підрядків.
Синтаксис рядкового split()
методу:
string.split(String regex, int limit)
Тут рядок є об’єктом String
класу.
split () Параметри
Рядковий split()
метод може приймати два параметри:
- регулярний вираз - рядок розділений на цьому регулярному виразі (можуть бути рядками)
- limit (необов’язково) - керує кількістю отриманих підрядків
Якщо limit
параметр не передано, split()
повертає всі можливі підрядки.
split () Повернене значення
- повертає масив підрядків
Примітка: Якщо регулярний вираз, який передається split()
недійсним, split()
метод викликає PatternSyntaxExpression
виняток.
Приклад 1: split () Без обмеження Параметр
// 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)); ) )
Вихідні дані
результат = (a, b, c, d: e)
Тут ми розділили рядок на ::
. Оскільки limit
параметр не передано, повернутий масив містить усі підрядки.
split () З обмеженням Параметр
- Якщо
limit
параметр 0 або від’ємний,split()
повертає масив, що містить усі підрядки. - Якщо
limit
параметр позитивний (скажімоn
),split()
повертає максимумn
підрядків.
Приклад 2: split () З граничним параметром
// 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)); ) )
Вихідні дані
результат, коли ліміт дорівнює -2 = (a, bc, de, fg, h) результат, коли ліміт дорівнює 0 = (a, bc, de, fg, h) результат, коли ліміт дорівнює 2 = (a, bc: de: fg: h) результат, коли обмеження дорівнює 4 = (a, bc, de, fg: h) результат, коли обмеження дорівнює 10 = (a, bc, de, fg, h)
Примітка: Метод split () приймає регулярний вираз як перший аргумент. Якщо вам необхідно використовувати спеціальні символи , такі як: ,
|
, ^
, *
, і +
т.д., вам необхідно , щоб уникнути цих символів. Наприклад, нам потрібно використовувати \+
для поділу на +
.
Приклад 3: split () на знак +
// 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)); ) )
Вихідні дані
результат = (a, e, f)
Тут, щоб розділити рядок на +
, ми використовували \+
. Це тому, що +
є спеціальним символом (має особливе значення в регулярних виразах).