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.18.5/dart-core/String/splitMapJoin.html

Spec-Zone.ru

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