我正在尝试使用 .NET 上的 C# 检查英语词典中是否存在某个单词

问题描述 投票:0回答:1

我目前正在使用 NetSpell,但运行代码时遇到许多

FileNotFound
异常:

NetSpell.SpellChecker.Spelling spellCheck = new NetSpell.SpellChecker.Spelling(); 
spellCheck.Dictionary = dict; 

if (!spellCheck.TestWord(wordIn)) 
{ 
    return false; 
} 

return true;

知道我哪里出错了吗?该库现在可以正确初始化(之前有一些问题),我愿意接受对其他库的建议以及潜在的修复:) TIA。

c# .net maui
1个回答
0
投票

我设法用symspell解决了这个问题。从 nuget 下载它,然后使用此代码:

var symSpell = new SymSpell();

string dictionaryPath = "frequency_dictionary_en_82_765.txt";
symSpell.LoadDictionary(dictionaryPath, 0, 1);

var suggestions = symSpell.Lookup("YOUR WORD", SymSpell.Verbosity.Closest, 1);

if (suggestions[0].distance == 0)
{
    // word found !
}
else
{
    // word not found
}

安装该软件包后,它会将 2 个 txt 文件放入您的项目中。将它们移动到可执行文件的文件夹中。 (bin/调试/net8.0/)

© www.soinside.com 2019 - 2024. All rights reserved.