Python-将字典内容替换到字符串

 

 

今天说一下如何替换字符串里面的值

 

 

首先我们用到的是re模块,先找到我们想要替换的值

 

示例:

 

  • 处理单个值
import re

dict_re = {"name": "王二狗"}
str_01 = "{'桃桃人':'${name}55962'}"

# 按照我写定的模板进行数据查找
variable = re.findall('\\${.+?}', str_01)
print(variable)
# 替换字符串内的值
# [2:-1] 是去除 ${ 这两个符号 -1 去除的是结尾的 }
str_01 = str_01.replace(variable[0], dict_re[variable[0][2:-1]])
print(str_01)

 

 

 

  • 处理多个正则提取

 

示例:

 

dict_res = {"name": "王二狗", "sex": ""}
str_02 = "{'桃桃人':'${name}55962','性别': ${sex}}"
variables_list = re.findall('\\${.+?}', str_02)
print(variables_list)
for variable in variables_list:
    str_02 = str_02.replace(variable, dict_res[variable[2:-1]])
print(str_02)

 

 

 

 

 

整体代码

 

# -*- coding: utf-8 -*-
# @Time : 2021/12/7 15:22
# @Author : Limusen
# @File : re_demo_onlie

import re

dict_re = {"name": "王二狗"}
str_01 = "{'桃桃人':'${name}55962'}"

# 按照我写定的模板进行数据查找
variable = re.findall('\\${.+?}', str_01)
print(variable)
# 替换字符串内的值
# [2:-1] 是去除 ${ 这两个符号 -1 去除的是结尾的 }
str_01 = str_01.replace(variable[0], dict_re[variable[0][2:-1]])
print(str_01)

print("=================  demo02 多个值替换 =====================")

dict_res = {"name": "王二狗", "sex": ""}
str_02 = "{'桃桃人':'${name}55962','性别': ${sex}}"
variables_list = re.findall('\\${.+?}', str_02)
print(variables_list)
for variable in variables_list:
    str_02 = str_02.replace(variable, dict_res[variable[2:-1]])
print(str_02)

 

posted @ 2021-12-07 15:47  罐装七喜  阅读(1091)  评论(0编辑  收藏  举报