我想将regExp之后的所有匹配字符串替换为span元素中的相同字符串。这可能吗?
我想做这样的事情:
final text = message.replaceAllMapped(exp, (match) => '<span>exp, (match)</span>');
答案 0 :(得分:1)
您可以像这样使用String#replaceAllMapped
:
final exp = new RegExp(r'\d+(?:\.\d+)?');
String message = 'test 40.40 test 20.20';
final text = message.replaceAllMapped(exp,
(Match m) => "<span>${m[0]}</span>");
print(text);
输出:test <span>40.40</span> test <span>20.20</span>
这里,m
是正则表达式引擎发现并传递给arrow方法的Match
对象,其中m
数组的第一项插入在<span>
之间和</span>
放在插值双引号字符串文字中。