Python中如何将字符串内的单引号(')替换为转义单引号(\')
Python字符串转义替换实现方案
需求拆解
你需要同时完成两个操作:
- 把字符串中所有普通单引号
'替换为转义后的单引号\' - 将
en字段对应的值从Title Edit 02修改为Changed
方法1:先转字典修改值再转义(推荐,容错率高)
适合后续可能要修改其他字段的场景,避免硬编码替换值出错:
import ast # 原字符串 raw_str = "{'fr': '', 'en': 'Title Edit 02'}" # 安全转换为Python字典 data = ast.literal_eval(raw_str) # 修改en字段的值 data['en'] = 'Changed' # 转字符串后替换单引号为转义格式 result = str(data).replace("'", r"\'") print(result)
运行后输出结果为:{\'fr\': \'\', \'en\': \'Changed\'},完全匹配目标格式。
方法2:纯字符串直接替换
如果只是一次性固定逻辑的处理,也可以直接做两次替换:
raw_str = "{'fr': '', 'en': 'Title Edit 02'}" # 先替换字段值,再转义单引号 result = raw_str.replace("Title Edit 02", "Changed").replace("'", r"\'") print(result)
注意替换转义单引号时使用原始字符串前缀
r,避免Python自身的转义规则抵消掉反斜杠。如果不使用原始字符串,需要写成replace("'", "\\'")才能得到正确结果。
内容的提问来源于stack exchange,提问作者Thirumal
相关产品推荐
相关产品推荐

