一次性替换多个字符串值

时间:2017-12-08 16:51:15

标签: python

嘿伙计们,如何在一个字符串中替换dict中指定的值的字符串中的多个数字?例如:

dic_lanches = {10:'Misto-Quente',11:'X-Burger',
               12:'X-Salada',
               13:'X-Egg',
               14:'X-Bacon',
               15:'X-Calabresa',
               16:'X-Frango',
               17:'X-Coração',
               18:'X-Casa'}

my_string = 11 12 13

替换后:

我想要X-Burguer X-Salada X-Egg

但我得到的是:

X-Burguer 12 13

11 X-Salada 13

11 12 X-Egg

现在尝试了:

result = re.sub(r'\d', lambda x: dic_lanches[int(x.group())], myString)

但是我得到了KeyError 1

1 个答案:

答案 0 :(得分:1)

使用re

import re
myString = "I want 11 12 13"
result = re.sub(r'\d', lambda x: dic_lanches[int(x.group())], myString)

我们在这里做的是使用正则表达式来匹配字符串中的所有数字,然后我们用具有相应键的字典中的字符串替换这些数字。