Замена строки со словарем, осложнения с пунктуацией
Я пытаюсь написать функцию процесса (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"
Я попытался использовать функцию разделения, чтобы отделить строку и сравнить каждую часть со словарем.
def process(s):
return ''.join(d[ch] if ch in d else ch for ch in s)
Тем не менее, он возвращает мне ту же самую строку. У меня есть подозрение, что код неt работает из-за полной остановки позади ASAP в исходной строке. Если так, как я могу игнорировать знаки препинания и получить замену как можно скорее?