Розділення рядка Java ()

Метод 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)

Тут, щоб розділити рядок на +, ми використовували \+. Це тому, що +є спеціальним символом (має особливе значення в регулярних виразах).

Цікаві статті...