Spec-Zone.ru › Dart 2

dart:core

абстрактный метод splitMapJoin

String splitMapJoin(
  1. Pattern pattern,
  2. {String onMatch(
    1. Match
    )?,
  3. String onNonMatch(
    1. String
    )?}
)

Разбивает строку на части, преобразует их и объединяет в новую строку.

pattern используется для разбиения строки на части и отделения совпадений. Каждое совпадение, найденное методом Pattern.allMatches для pattern в этой строке, считается совпадением, а подстроки между концом одного совпадения (или началом строки) и началом следующего совпадения (или концом строки) считаются частями, не соответствующими шаблону. (В отличие от split, начальные и конечные пустые совпадения не пропускаются: включаются все совпадения и промежуточные части.)

Каждое совпадение преобразуется в строку вызовом onMatch. Если onMatch не указан, используется совпавшая подстрока.

Каждая часть, не соответствующая шаблону, преобразуется в строку вызовом onNonMatch. Если onNonMatch не указан, используется сама подстрока, не соответствующая шаблону.

Затем все преобразованные части объединяются в результирующую строку.

final result = 'Eats shoots leaves'.splitMapJoin(RegExp(r'shoots'),
    onMatch: (m) => '${m[0]}', // (or no onMatch at all)
    onNonMatch: (n) => '*');
print(result); // *shoots*

Реализация

String splitMapJoin(Pattern pattern,
    {String Function(Match)? onMatch, String Function(String)? onNonMatch});

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/String/splitMapJoin.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API