辞書を使用して、文字列内の略語を完全な意味に置き換える関数 process(s,d) を作成しようとしています。ここで、s は文字列入力、d は辞書です。例えば:
>>>d = {'ASAP':'as soon as possible'}
>>>s = "I will do this ASAP. Regards, X"
>>>process(s,d)
>>>"I will do this as soon as possible. Regards, X"
split 関数を使用して文字列を分離し、各部分を辞書と比較してみました。
def process(s):
return ''.join(d[ch] if ch in d else ch for ch in s)
ただし、まったく同じ文字列が返されます。元の文字列の ASAP の後ろに終止符があるため、コードが機能しないのではないかと疑っています。その場合、句読点を無視して ASAP を交換するにはどうすればよいですか?