Функция split

Функция split с параметром типа Regex позволяет разбивать строку на части по шаблону регулярного выражения. Это мощный инструмент для сложного разделения текста по нескольким разделителям или паттернам.

Синтаксис

kotlinfun CharSequence.split(
  regex: Regex,
  limit: Int = 0
): List<String>
kotlinfun String.split(
  regex: Regex,
  limit: Int = 0
): List<String>

Пример

Разделение строки по нескольким разделителям с помощью Regex:

kotlinval text = "apple,bananacherry orange"
val result = text.split(Regex("[,\\s]"))
println(result)

Результат выполнения кода:

kotlin[apple, banana, cherry, orange]

Пример

Разделение строки по цифрам с использованием регулярного выражения:

kotlinval text = "one1two2three3four"
val result = text.split(Regex("\\d+"))
println(result)

Результат выполнения кода:

kotlin[one, two, three, four]

Пример

Разделение строки с ограничением количества частей:

kotlinval text = "a,b,c,d,e,f,g"
val result = text.split(Regex(","), limit = 4)
println(result)

Результат выполнения кода:

kotlin[a, b, c, d,e,f,g]

Пример

Разделение строки по сложному паттерну (пробелы и знаки препинания):

kotlinval text = "Hello, world! How are you? I'm fine."
val result = text.split(Regex("[\\s,!?.]+"))
println(result)

Результат выполнения кода:

kotlin[Hello, world, How, are, you, I, m, fine]

Пример

Разделение строки по шаблону даты для извлечения компонентов:

kotlinval text = "2023-12-25_2024-01-01_2024-05-15"
val result = text.split(Regex("_|-"))
println(result)

Результат выполнения кода:

kotlin[2023, 12, 25, 2024, 01, 01, 2024, 05, 15]

Смотрите также

  • класс Regex,
    для работы с регулярными выражениями
  • функцию replace,
    которая заменяет части строки по регулярному выражению
  • функцию matches,
    которая проверяет соответствие строки регулярному выражению