ダブルメタフォン機能をダウンロードしました:https ://github.com/dracos/double-metaphone
これは次のように機能するはずです。
>>> dm(u'aubrey')
('APR', '')
>>> dm(u'richard')
('RXRT', 'RKRT')
>>> dm(u'katherine') == dm(u'catherine')
True
この関数に変数を渡すにはどうすればよいですか?uは常に邪魔です。私はできる必要があります
dm(x)==dm(y)
今これが起こることです:
>>> x='wal mart'
>>> y='wall mart'
>>> dm(x)==dm(y)
Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
dm(x)==dm(y)
File "<pyshell#18>", line 6, in dm
st = ''.join((c for c in unicodedata.normalize('NFD', st) if unicodedata.category(c) != 'Mn'))
TypeError: normalize() argument 2 must be unicode, not str