Замена строки со словарем, осложнения с пунктуацией

Я пытаюсь написать функцию процесса (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 в исходной строке. Если так, как я могу игнорировать знаки препинания и получить замену как можно скорее?

Ответы на вопрос(7)

Ваш ответ на вопрос