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)