首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用re.sub()查找和替换多个字符串

使用re.sub()查找和替换多个字符串
EN

Stack Overflow用户
提问于 2019-04-30 10:02:40
回答 1查看 51关注 0票数 0

我正在尝试使用re.sub()来替换模板中的多个字符串。模板为:

代码语言:javascript
复制
A message from the leasing office:
Hello <<firstName>> <<lastName>>,
Please pay your balance of <<balance>> before <<date>>. 

其中<<firstName>>, <<lastName>>, <<balance>>, and <<date>>分别被变量first_name, last_name, balance, date替换。

我完全不知道如何搜索要更换的特定部件。这是我所知道的:

代码语言:javascript
复制
for line in template_file:
line = re.sub(r'<<firsName>>', first_name, line)

这显然是行不通的,但我不知道从这里往哪个方向走。

EN

回答 1

Stack Overflow用户

发布于 2019-04-30 14:08:42

也许是这样的东西?

代码语言:javascript
复制
template_dict = {
    'firstName': first_name,
    'lastName': last_name,
    'balance': balance,
    'date': date
}

for line in template_file:
    for variable_name in template_dict:
        line = line.replace('<<{0}>>'.format(variable_name), template_dict[variable_name])
    print(line)

如果可以重命名变量,则可以使用不同的数据结构,其中可以直接在模板文件中使用变量的实际名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55913006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档