我最近在做类似的事情,我使用了 NHunspell(你也可以从NuGet获得),所以我得到了这样的东西(它不是确切的代码,但它非常接近):
public IDictionary<string, IEnumerable<string>> Analyze(string text)
{
var results = new Dictionary<string, IEnumerable<string>>();
using (var hunspell = new Hunspell("Resources\\en_GB.aff", "Resources\\en_GB.dic"))
{
string[] words = Regex.Split(text, @"\W+", RegexOptions.IgnoreCase);
IEnumerable<string> misspelledWords = words.Where(word => !hunspell.Spell(word));
foreach (string word in misspelledWords)
{
IEnumerable<string> suggestions = hunspell.Suggest(word);
results.Add(word, suggestions);
}
}
return results;
}
它会分析您的文本,返回拼写错误单词的字典以及每个单词的建议列表。
只是补充一下,这里是一个 Hunspell 词典列表(使用不同的语言)。