按键错误时re.sub公司用字典替换字符串

2024-10-01 02:26:05 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我想为我糟糕的英语道歉-我不是英国人。在

我的这行代码有问题:

expression = re.sub("\w+", lambda m: "{}".format(functionsDICT[m.group(0)]), expression)

字典给我出了个错误:

^{pr2}$

字典(functionsDICT)包含类中函数的名称。没有“pi”,因为它来自其他模块。所以我想用字典替换“expression”字符串,并且在re.sub公司查找字典中没有的内容(它在字符串中保持不变)。像尝试…除了。在

提前谢谢你的帮助。希望你能理解我。在


Tags: 模块lambda函数字符串代码re名称format
1条回答
网友
1楼 · 发布于 2024-10-01 02:26:05

使用^{}方法:

expression = re.sub("\w+", lambda m:
    '{}'.format(functionsDICT.get(m.group(0), m.group(0))), expression)

也就是说,如果第一个参数m.group(0)在字典中找不到,get将返回第二个参数m.group(0),在您的示例中,用"pi"替换{}。在

请注意,您可以使用str()而不是'{}'.format(),除非您的值对默认格式说明符做了一些特别的操作。在

相关问题 更多 >