我能否在Android中使用匹配组进行正则表达式替换?

4
我希望你能够在Android上做类似于这样的事情:

来自:

*foo* bar*stuff*

目标:
<b>foo</b> bar<b>stuff</b>

在C#中,我会创建一个Regex并进行替换:
string text = "*foo* bar*stuff*";
Regex bold = new Regex(@"\*(.+?)\*", RegexOptions.Singleline);
html = bold.Replace(html, new MatchEvaluator(p => string.Format("<b>{0}</b>", p.Groups[1].Value)));

我已阅读了Android的java.util.regex.Matcher文档,它说replace()方法用一个(常量)字符串替换整个匹配。是否有一种巧妙的方式可以将每个出现的匹配替换为对该匹配组的引用?
2个回答

2

应该是:

"<b>$1</b>"

那是C#,但在Java中应该是完全相同的。类似地,$0代表整个匹配(或某些风格上的$&)。

1
@Axarydax - 如果它类似于Java(或者 Java),那么你会发现这些链接很有用:http://www.regular-expressions.info/java.html,http://www.regular-expressions.info/refreplace.html - Kobi

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接