我目前正在使用c#/ Asp.net中的一段代码。
它使用如下结构的正则表达式替换函数:
return regex.Replace(pattern, match =>
{
// do something
return something;
});
An example pattern might be "This is a {sample} bit of text where the items in the brackets are {replaced}"
这种替换语法形式似乎全部或全无 - 它获取所有匹配并将用某些内容替换所有匹配。
以下是Mark Gravell发布的完整代码:
How can I create a more user-friendly string.format syntax?
但是,我需要能够有条件地替换 - 获取匹配,迭代它们,并决定是否替换。
示例
给定输入字符串:
“你今年{年龄},你的名字是{firstName},你的名字是{lastName}。
用法
string s = Format(“你是{age}岁,你的名字是{firstName},你的名字是{lastName}。”, new {age = 18,firstName =“Foo”});
当前输出
“你今年18岁,你的名字是Foo,你的名字是。”
所需的输出
“你今年18岁,你的名字是Foo,你的名字是{lastName}。”
任何建议表示赞赏。