令牌替换和标识

本文关键字:标识 替换 令牌 | 更新日期: 2023-09-27 18:16:21

我需要完成以下任务,但不确定最佳方法。

以如下字符串为例:

%%%% START %%%%

[p] [j]王晓明,王晓明,王晓明,等iaculis accumsan。莫比老林,神采飞扬,喜怒无常ultrices commodo。现奏双奏,中奏非奏级,前庭与大脑相连。南是一个非常优秀的人,也是一个非常优秀的人。大前庭。鸡肚草,鸡肚草tincidunt。Duis metus quam(发酵),fertum(发酵),fertum(发酵)添加。(% RC: 1%)

%%%% END %%%%

我需要能够做的是采取该字符串,首先找到"令牌"[%RC:(int)%]的所有出现,获得包含在该令牌内的id(将用于查询数据),然后用新字符串替换整个令牌。

我该怎么做呢?有什么建议吗?有指导就好了。

令牌替换和标识

假设您有一个字典,您可以使用它来查找替换字符串,尝试使用Regex.Replace的过载,MatchEvaluator:

string result = Regex.Replace(
    text,
    @"'[%RC:('d+)%']",
    match => dict[int.Parse(match.Groups[1].Value)]);

查看其在线运行情况:ideone