我想检查 Python 中的字符串是否是使用 PyEnchant 的单词集合。
例如,我想以某种方式检查连接的字符串是否为单词:
eng = enchant.Dict("en_US")
eng.check("Applebanana")
我知道这将返回 false,但我希望它返回 true,因为 Apple +banana 是 PyEnchant 的合法词。
如果您将自己限制为由其他两个单词组合而成的单词,您可以自己检查组合:
>>> s = "applebanana"
>>> splits = [(s[:i], s[i:]) for i in range(1,len(s))]
>>> splits
[('a', 'pplebanana'), ('ap', 'plebanana'), ('app', 'lebanana'),
('appl', 'ebanana'), ('apple', 'banana'), ('appleb', 'anana'),
('appleba', 'nana'), ('appleban', 'ana'), ('applebana', 'na'),
('applebanan', 'a')]
>>> any((eng.check(item[0]) and eng.check(item[1])) for item in splits)
True
当然,您可以将其扩展到两个以上,但这应该让您大致了解您的前进方向。