2009-11-26 57 views
2

我正在使用DotNetWikiBot框架爲我的社區wiki上的wiki bot工作;它會找到一個通常是拼寫錯誤的單詞(如「abilty」),並用更正(例如「能力」)來替換它們。C#text.Replace preserve case

這工作按原樣編碼:

p.text = p.text.Replace(@"\b" + typoArray[x, 0] + @"\b", typoArray[x, 1]); 

然而,這將取代「Abilty」與這當然會導致問題的「能力」,但我無法弄清楚如何保存的情況下替換字(所以Abilty成爲能力),除非錯字替換是要大寫,無論它是什麼替換:januray到一月

+1

如何添加大小寫字符?應該將「aBiLtY」替換爲「aBiLitY」還是「aBiLItY」? – Guffa 2009-11-26 23:53:58

+0

不,aBiLitY應該被能力取代,而ABiLitY應該被能力取代。 – Windos 2009-11-27 00:12:02

+0

這是簡單的詞典單詞,所以除非在句子或名詞的開頭,否則「不應該」是流浪首都。 – Windos 2009-11-27 00:13:58

回答

1

我認爲你會做更好的使用正則表達式從System.Text.RegularExpressions命名空間。

Regex.Replace(str,「[A]」,「Z」);或者它的一些變體。正則表達式是強大的。

+0

謝謝,你的回答讓我找到了正確的東西,找到我需要的東西。 – Windos 2009-11-28 20:44:06