gpt4 book ai didi

.net - 智能拼写检查

转载 作者:行者123 更新时间:2023-12-04 18:48:39 25 4
gpt4 key购买 nike

我正在使用 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 (very good) example”,它会报告“(very”和“good)”拼写错误。或者,如果字符串包含诸如“8:30”之类的时间,它会将其报告为拼写错误的单词。它也有逗号等问题。

Microsoft Word 足够智能,可以识别时间、分数或逗号分隔的单词列表。它知道什么时候不使用英语词典,也知道什么时候忽略符号。如何在我的软件中进行类似的、更智能的拼写检查?有没有提供更多智能的库?

编辑:
我不想强制用户在他们的机器上安装 Microsoft Word,因此不能选择使用 COM 互操作。

最佳答案

如果你的拼写检查器真的那么蠢,你应该预先标记它的输入以取出单词并一次输入一个(或作为一个用空格连接的字符串)。我不熟悉 C#/.NET,但在 Python 中,你会使用一个简单的 RE,如 \w+为了那个原因:

>>> s = "This is a (very good) example"
>>> re.findall(r"\w+", s)
['This', 'is', 'a', 'very', 'good', 'example']

我敢打赌 .NET 有一些非常相似的东西。事实上,根据 .NET docs , \w支持,所以你只需要了解如何 re.findall在那里被称为。

关于.net - 智能拼写检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9638479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com