我在用字典中的值替換字符串中的單詞時出現了一些問題。這裏是我當前的代碼一個小樣本:字符串用字典值替換
Dictionary<string, string> replacements = new Dictionary<string, string>()
{
{"ACFT", "AIRCRAFT"},
{"FT", "FEET"},
};
foreach(string s in replacements.Keys)
{
inputBox.Text = inputBox.Text.Replace(s, replacements[s]);
}
當我執行的代碼,如果我有在文本框中ACFT
,它會被替換AIRCRAFEET
,因爲它看到字符串中的FT
部分。我需要以某種方式區分這一點,只取代整個單詞。
例如,如果我在框中有ACFT
,應該用AIRCRAFT
代替它。而且,如果我在框中有FT
,請用FEET
替換它。
所以我的問題是,我怎樣才能匹配整個單詞只有當替換單詞?
編輯:我想能夠使用和替換多個單詞。你修改你的問題..
string str = "ACFT FTT";
Dictionary<string, string> replacements = new Dictionary<string, string>()
{
{"ACFT", "AIRCRAFT"},
{"FT", "FEET"},
};
string[] temp = str.Split(' ');
string newStr = "";
for (int i = 0; i < temp.Length; i++)
{
try
{
temp[i] = temp[i].Replace(temp[i], replacements[temp[i]]);
}
catch (KeyNotFoundException e)
{
// not found..
}
newStr+=temp[i]+" ";
}
Console.WriteLine( newStr);
嘗試看看這個http://stackoverflow.com/questions/6143642/way-to-have-string-replace-only-hit-全字 – 2014-10-30 05:46:31
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2014-10-30 06:20:14