РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
181 of 723 menu

Метод splitMapJoin

Метод splitMapJoin разбивает строку по заданному шаблону, преобразует совпадения и промежутки между ними с помощью функций, а затем объединяет результаты в новую строку. Первым параметром метод принимает шаблон, по которому выполняется разбиение. Вторым параметром можно передать функцию для преобразования совпадений, третьим - функцию для преобразования промежутков между совпадениями. Сама исходная строка при этом не изменяется.

Синтаксис

str.splitMapJoin(pattern, {onMatch, onNonMatch})

Пример

Давайте разобьем строку по цифрам и преобразуем совпадения в квадратные скобки, а промежутки оставим без изменений:

void main() { String str = 'abcde12345'; String res = str.splitMapJoin( RegExp(r'\d+'), onMatch: (m) => '[${m.group(0)}]', onNonMatch: (s) => s ); print(res); }

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

"abcde[12345]"

Пример

Давайте преобразуем и совпадения, и промежутки между ними:

void main() { String str = '12345abcde'; String res = str.splitMapJoin( RegExp(r'\d+'), onMatch: (m) => '(${m.group(0)})', onNonMatch: (s) => '<$s>' ); print(res); }

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

"(12345)<abcde>"

Пример

Давайте используем только функцию для совпадений, а промежутки оставим как есть:

void main() { String str = 'abcde12345abcde'; String res = str.splitMapJoin( RegExp(r'\d+'), onMatch: (m) => '!' ); print(res); }

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

"abcde!abcde"

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

  • метод split,
    который разбивает строку на список подстрок
  • метод replaceAll,
    который заменяет все вхождения подстроки
  • метод replaceAllMapped,
    который заменяет вхождения с помощью функции
  • метод allMatches,
    который возвращает все совпадения шаблона
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить