Pythonの文字列がPyEnchantを使用して単語のコレクションであるかどうかを確認したいと思います。
たとえば、連結された文字列が単語であるかどうかをどうにかして確認したいと思います。
eng = enchant.Dict("en_US")
eng.check("Applebanana")
これがfalseを返すことはわかっていますが、Apple +バナナはPyEnchantによる正当な単語であるため、trueを返したいと思います。
他の2つの単語を組み合わせた単語に限定する場合は、次のように組み合わせを確認できます。
>>> 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
もちろん、それを2つ以上に拡張することもできますが、これにより、自分がどこに向かっているのかについての一般的な考え方が得られるはずです。