ユーザーがアドレスを送信し、ユーザー入力をキーに置き換える必要がある状況があります。サフィックスなしのアドレスを使用してこれに参加できます。
幌馬車道
チザムトレイル
レイクトレイル
栗ST
リンカーンストリート
に:
幌付きワゴン
チザム
湖
くるみ
リンカーン
ただし、このコードを記述して最後の単語のみを置き換える方法がわかりません。私は得る:
リンカーン
くるみ
チザム
レイクエール
チショルメール
幌付きワゴン
regex verbose、re.sub、および $ を試しました。
import re
target = '''
LINCOLN STREET
CHESTNUT ST
CHISHOLM TR
LAKE TRAIL
CHISHOLM TRAIL
COVERED WAGON TRL
'''
rdict = {
' ST': '',
' STREET': '',
' TR': '',
' TRL': '',
}
robj = re.compile('|'.join(rdict.keys()))
re.sub(' TRL', '',target.rsplit(' ', 1)[0]), target
result = robj.sub(lambda m: rdict[m.group(0)], target)
print result