首页 新闻 会员 周边 捐助

正则表达式问题,望大神解答, 不胜感激

0
悬赏园豆:15 [已解决问题] 解决于 2022-10-31 22:43
  1. 有这样一段文本
    var text = "测试测试$_t("code1")测试测试测试测试测试测试测试测试测试$t("code2") ";
  2. 有这样一个字典
    var testDic = new Dictionary<string, string>()
    {
    {"code1", "1234"},
    {"code2", "222"},
    };
    通过文本中括号中的值去字典里取对应的value,再加进去,希望替换后的结果是:
    测试测试$_t("code1","1234")测试测试测试测试测试测试测试测试测试$t("code2","222")
一只小青蛙的主页 一只小青蛙 | 初学一级 | 园豆:5
提问于:2022-10-31 21:25
< >
分享
最佳答案
0

实现代码如下

using System.Text.RegularExpressions;

var text = "测试测试$_t(\"code1\")测试测试测试测试测试测试测试测试测试$t(\"code2\") ";

var testDic = new Dictionary<string, string>()
{
    {"code1", "1234"},
    {"code2", "222"},
};

foreach (var kv in testDic)
{
    text = Regex.Replace(text, $@"(\(""{kv.Key}"")(\))", $@"$1,""{kv.Value}""$2");
}

Console.WriteLine(text);
收获园豆:15
dudu | 高人七级 |园豆:30925 | 2022-10-31 21:37

我靠~ 真牛逼,我先把功能写完,容我研究下为什么这么写再来结贴!

一只小青蛙 | 园豆:5 (初学一级) | 2022-10-31 21:45

思路真的好,按照key来匹配对应的文本,我在思考的时候老想着通过文本提取key来找value,思路一下打开了,感谢dudu大神。

一只小青蛙 | 园豆:5 (初学一级) | 2022-10-31 22:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册