dart:core
库中String.replaceAllMapped
方法的用法介绍如下。
用法:
String replaceAllMapped(
Pattern from,
String replace(
Match match
)
)
用计算字符串替换与from
匹配的所有子字符串。
创建一个新字符串,其中匹配 from
的非重叠子字符串(由 from.allMatches(thisString)
迭代的子字符串)被在相应的 Match 对象上调用 replace
的结果替换。
这可用于将匹配项替换为取决于匹配项的新内容,这与替换字符串始终相同的 replaceAll 不同。
使用模式生成的Match 调用replace
函数,并将其结果用作替换。
下面定义的函数使用 replaceAllMapped 将字符串中的每个单词转换为简化的 'pig latin' :
String pigLatin(String words) => words.replaceAllMapped(
RegExp(r'\b(\w*?)([aeiou]\w*)', caseSensitive: false),
(Match m) => "${m[2]}${m[1]}${m[1]!.isEmpty ? 'way' : 'ay'}");
final result = pigLatin('I have a secret now!');
print(result); // 'Iway avehay away ecretsay ownay!'
相关用法
- Dart String.replaceAll用法及代码示例
- Dart String.replaceRange用法及代码示例
- Dart String.replaceFirstMapped用法及代码示例
- Dart String.replaceFirst用法及代码示例
- Dart String.fromCharCodes用法及代码示例
- Dart String.trim用法及代码示例
- Dart String.lastIndexOf用法及代码示例
- Dart String.toLowerCase用法及代码示例
- Dart String.substring用法及代码示例
- Dart String.length用法及代码示例
- Dart String.padRight用法及代码示例
- Dart String.fromEnvironment用法及代码示例
- Dart String.trimLeft用法及代码示例
- Dart String.compareTo用法及代码示例
- Dart String.trimRight用法及代码示例
- Dart String.contains用法及代码示例
- Dart String.indexOf用法及代码示例
- Dart String.split用法及代码示例
- Dart String.startsWith用法及代码示例
- Dart String.splitMapJoin用法及代码示例
- Dart String.operator_get用法及代码示例
- Dart String.operator_multiply用法及代码示例
- Dart String.endsWith用法及代码示例
- Dart String.operator_plus用法及代码示例
- Dart String.operator_equals用法及代码示例
注:本文由纯净天空筛选整理自dart.dev大神的英文原创作品 replaceAllMapped method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。