English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java Управление потоком

Java Массив

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Список (List)

Java Очередь (Queue)

Java Карта (Map)

Java Множество (Set)

Java Ввод/Вывод (I/O)

Java Reader/Writer

Другие темы Java

Метод split() строки Java: использование и примеры

Java методы String (строка)

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

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

string.split(String regex, int limit)

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

Метод split() строки может принимать два параметра:

  • regex - Разрезает строку в данном регулярном выражении (может быть строкой)

  • limit (Дополнительное) - specify the number of generated substrings

Если параметр limit не передан, то метод split() возвращает все возможные подстроки.

Возврат значения split()

  • Возвращает массив подстрок.

Внимание:Если переданный регулярный выражение для split() недействителен, то метод split() вызывает исключение PatternSyntaxException.

Пример 1: пример split() без параметра limit

//Импорт массива для преобразования массива в строку
//Для печати массива
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 не передан, возвращаемый массив содержит все подстроки.

split() с параметром limit

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

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

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

// Импорт массива, преобразование массива в строку
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()Метод принимает регулярное выражение в качестве первого параметра. Если необходимо использовать специальные символы, такие как \, |, ^, *, + и т.д., то необходимо эти символы экранировать. Например, нам нужно использовать\\+ для разделения +.

Пример 3: 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]

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

Java методы String (строка)