Java String split ()

Методът 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параметърът е 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: з) резултат, когато ограничението е 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)

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

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