我有一個字符串,我需要做一些替換。我有一個Dictionary<string, string>
,我有定義的搜索替換對。我已經創建了以下擴展方法來執行此操作:用字典替換C#字符串
public static string Replace(this string str, Dictionary<string, string> dict)
{
StringBuilder sb = new StringBuilder(str);
return sb.Replace(dict).ToString();
}
public static StringBuild Replace(this StringBuilder sb,
Dictionary<string, string> dict)
{
foreach (KeyValuePair<string, string> replacement in dict)
{
sb.Replace(replacement.Key, replacement.Value);
}
return sb;
}
有沒有更好的方法來做到這一點?
偉大的答案。我認爲你的提議實際上會更好,然後迭代整個詞典,因爲正則表達式只會替換找到的記號。它不會檢查每一個可能在裏面。所以如果我在輸入字符串中有一個大的字典和少量的標記,實際上可以給我的應用程序一個提升。 – RaYell 2009-08-05 08:28:39
非常有用。我將它重構爲正則表達式的擴展方法,我無法在評論中顯示,所以會在下面添加一些額外的答案。 – 2013-03-20 16:20:59
如果找不到密鑰,這將引發異常。 – Axel 2017-01-15 05:54:38