Разделение строки Java ()

Метод Java String split () делит строку по указанному регулярному выражению и возвращает массив подстрок.

Синтаксис строкового split()метода:

 string.split(String regex, int limit)

Здесь строка - это объект Stringкласса.

split () Параметры

Строковый split()метод может принимать два параметра:

  • regex - строка делится на этом регулярном выражении (может быть строкой)
  • 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

  • Если limitпараметр равен 0 или отрицателен, split()возвращает массив, содержащий все подстроки.
  • Если limitпараметр положительный (скажем n), split()возвращает максимум nподстрок.

Пример 2: split () с параметром limit

 // 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)

Здесь, чтобы разделить строку на +, мы использовали \+. Это потому, что +это специальный символ (имеет особое значение в регулярных выражениях).

Интересные статьи...