【发布时间】:2015-07-17 08:35:44
【问题描述】:
我有两个输入值:
苹果
胡萝卜
我想找到一个正则表达式,我可以在 C# 程序中使用 Regex.Replace() 来识别这些输入并将它们替换为不相关的值。我没有机会更改代码。我只能提供输入、模式和替换参数。
例如:
如果找到 apple,则替换为 fruit
如果找到carrot,则替换为vegetable
我可以轻松地将它们与 ^apple|tomato$ 匹配,但我看不出有什么方法可以进行我想要的替换。唯一的替换选项似乎是来自输入的东西或奇异的固定值。
【问题讨论】:
-
您可以访问 Regex.Replace 的哪些方法签名?你有这个权限吗:public static string Replace(string input, string pattern, MatchEvaluator evaluator)
-
不,我们没有使用 MatchEvaluator。我唯一的选择是在配置文件中提供正则表达式和替换字符串,并希望有一些正则表达式的魔力可以让我避免修改产品代码并发明某种描述此配置的方式。似乎我们需要在下一个版本中添加。