我使用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互操作不是一个选项。