检查是否收集了单词(pyenchant)

时间:2012-12-18 07:42:12

标签: python word pyenchant

我想检查Python中的字符串是否是使用PyEnchant的单词集合 例如,我想以某种方式检查连接字符串是否为单词:

eng = enchant.Dict("en_US")
eng.check("Applebanana")

我知道这会返回false,但我希望它返回true,因为Apple + banana是PyEnchant的合法词。

1 个答案:

答案 0 :(得分:1)

如果您将自己限制在两个单词组合的单词中,您可以自己检查组合:

>>> 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

当然,您可以将其扩展到两个以上,但这可以让您大致了解自己的目标。