English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Метод split() строки Java разрезает строку по заданному регулярному выражению и возвращает массив подстрок.
Синтаксис метода split() строки
string.split(String regex, int limit)
Метод split() строки может принимать два параметра:
regex - Разрезает строку в данном регулярном выражении (может быть строкой)
limit (Дополнительное) - specify the number of generated substrings
Если параметр limit не передан, то метод split() возвращает все возможные подстроки.
Возвращает массив подстрок.
Внимание:Если переданный регулярный выражение для split() недействителен, то метод split() вызывает исключение PatternSyntaxException.
//Импорт массива для преобразования массива в строку //Для печати массива import java.util.Arrays; class Main { public static void main(String[] args) { String vowels = "a::b::c::d:e"; // Разрезаем строку в "::" // Сохраняем результат в массиве строк String[] result = vowels.split("::"); //Преобразование массива в строку и вывод System.out.println("result = " + Arrays.toString(result)); {} {}
результат вывода
result = [a, b, c, d:e]
Здесь мы разрезаем строку в месте ::. Поскольку параметр limit не передан, возвращаемый массив содержит все подстроки.
Если параметр limit равен 0 или отрицателен, то метод split() возвращает массив, содержащий все подстроки.
Если параметр limit положителен (например, n), то метод split() возвращает максимальное количество подстрок n.
// Импорт массива, преобразование массива в строку import java.util.Arrays; class Main { public static void main(String[] args) { String vowels = "a:bc:de:fg:h"; // Разделение строки по символу ":" // limit = -2; массив содержит все подстроки String[] result = vowels.split(":", -2); System.out.println("Возврат результатов при limit равном -2 = " + Arrays.toString(result)); // limit = 0; массив содержит все подстроки result = vowels.split(":", 0); System.out.println("Возврат результатов при limit равном 0 = " + Arrays.toString(result)); // limit = 2; массив может содержать до 2 подстрок result = vowels.split(":", 2); System.out.println("Возврат результатов при limit равном 2 = " + Arrays.toString(result)); // limit = 4; массив может содержать до 4 подстрок result = vowels.split(":", 4); System.out.println("Возврат результатов при limit равном 4 = " + Arrays.toString(result)); // limit = 10; массив может содержать до 10 подстрок result = vowels.split(":", 10); System.out.println("Возврат результатов при limit равном 10 = " + Arrays.toString(result)); {} {}
результат вывода
Возврат результатов при limit равном -2 = [a, bc, de, fg, h] Возврат результатов при limit равном 0 = [a, bc, de, fg, h] Возврат результатов при limit равном 2 = [a, bc:de:fg:h] Возврат результатов при limit равном 4 = [a, bc:de:fg:h] Возврат результатов при limit равном 10 = [a, bc, de, fg, h]
Внимание: split()Метод принимает регулярное выражение в качестве первого параметра. Если необходимо использовать специальные символы, такие как \, |, ^, *, + и т.д., то необходимо эти символы экранировать. Например, нам нужно использовать\\+ для разделения +.
//Импорт массива для преобразования массива в строку //Для печати массива import java.util.Arrays; class Main { public static void main(String[] args) { String vowels = "a+e+f"; //Разделение строки в "+" String[] result = vowels.split("\\+"); //Преобразование массива в строку и вывод System.out.println("result = " + Arrays.toString(result)); {} {}
результат вывода
result = [a, e, f]
Здесь, чтобы разделить строку в +, мы используем \\+. Потому что + это специальный символ (имеет особое значение в регулярных выражениях).