我有一个像
的网址http://www.somesite.com/$(someKey).php
我有一个包含这些键的字典,我需要的是使用正则表达式将$(*)
替换为用该键标记的字典中的值。
我该怎么做?
答案 0 :(得分:3)
您可以使用Regex.Replace Method。试试这个:
class Program
{
static void Main(string[] args)
{
var dict = new Dictionary<string, string>();
dict.Add("someKey1", "MyPage1");
dict.Add("someKey2", "MyPage2");
var input = "http://www.somesite.com/$(someKey2).php";
var output = Regex.Replace(input, @"\$\((.*?)\)", m =>
{
return dict[m.Groups[1].Value];
});
}
}
答案 1 :(得分:2)
url = Regex.Replace(url , @"\$\(([^)]+)\)", delegate(Match m){ return dict[m.Groups[1]]; });