代码后台中的拼写检查类

3
有没有一种方法可以在代码后台检查拼写?
我只能找到如何在UI控件中使用它。
<TextBox SpellCheck.IsEnabled="True" Height="20" Width="100"/>

我需要的是一个名为boolean CheckSpell(string word)的函数。

我甚至不需要建议的拼写。

这个函数用来确定文本文件中正确拼写单词的百分比。
如果一个文本文件的百分比很低,那么它可能不适合人类阅读。

该应用程序具有SQL后端,因此加载英语字典中的单词列表是一种选择。


1
您可以创建一个没有 UI 的 TextBox 类实例。 - Hans Passant
1个回答

2
为解决您的问题,您可以使用NHunspell库。
在这种情况下,您的检查方法非常简单,如下所示:
bool CheckSpell(string word)
{         
    using (Hunspell hunspell = new Hunspell("en_GB.aff", "en_GB.dic"))
    {
        return hunspell.Spell(word);               
    }
}

您可以在此网站上找到词典。
另外,您也可以使用SpellCheck类:
bool CheckSpell(string word)
{
    TextBox tb = new TextBox();
    tb.Text = word;
    tb.SpellCheck.IsEnabled = true;

    int index = tb.GetNextSpellingErrorCharacterIndex(0, LogicalDirection.Forward);
    if (index == -1)
        return true;
    else
        return false;
}

谢谢。你有什么推荐吗?速度很重要,因为我将拼写检查超过100万个单词。 - paparazzo
不客气。你必须检查一下。我没有进行性能测试。 - kmatyaszek
如果SpellCheck的性能OK,我就会继续使用它,因为这只是一次批处理。 - paparazzo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接