我使用NHunspell來檢查拼寫錯誤的字符串,像這樣:智能拼寫檢查
var words = content.Split(' ');
string[] incorrect;
using (var spellChecker = new Hunspell(affixFile, dictionaryFile))
{
incorrect = words.Where(x => !spellChecker.Spell(x))
.ToArray();
}
這通常工作,但也存在一些問題。例如,如果我正在檢查「This is a(good)example」這個句子,它會報告「(很」和「很好」)拼寫錯誤。或者如果字符串包含時間(如「8:30」),則會將其報告爲拼寫錯誤的單詞。它也有逗號問題等。
Microsoft Word足夠聰明,可識別時間,分數或逗號分隔的單詞列表。它知道何時不使用英文字典,並知道何時忽略符號。我如何在我的軟件中獲得類似的,更智能的拼寫檢查?有沒有提供更多智力的圖書館?
編輯: 我不想強制用戶在他們的機器上安裝Microsoft Word,所以使用COM互操作不是一個選項。