今天說一下如何替換字符串里面的值
首先我們用到的是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)