You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用正则表达式替换单词中间的双引号

解决字符串内部双引号替换问题

嘿,我来帮你搞定这个字符串替换的难题!你需要把类似[u"column1" : u"abcd", u"column2" : u"te"st"]这种字符串里,值部分中间的双引号换成单引号,但保留值首尾的双引号,对吧?

之前的临时方案只能处理特定情况,这里给你一个通用的解法,用正则表达式就能精准实现需求:

具体实现代码

import re

# 原字符串
my_string = '''[u"column1" : u"abcd", u"column2" : u"te"st"]'''

# 正则替换中间的双引号
result = re.sub(r'(?<=u"[^"]*)"(?=[^"]*")', "'", my_string)

print(result)
# 输出结果:[u"column1" : u"abcd", u"column2" : u"te'st"]

正则表达式说明

这个正则(?<=u"[^"]*)"(?=[^"]*")的作用是精准锁定需要替换的双引号:

  • (?<=u"[^"]*):正向后顾,确保当前要替换的双引号,前面是u"开头的字符串,并且已经有若干非双引号字符(也就是我们处于值的内部)
  • ":就是我们要替换的那个中间双引号
  • (?=[^"]*"):正向前瞻,确保这个双引号后面还有若干非双引号字符,直到值的结尾双引号

不管你的字符串里有多少个中间双引号,比如u"te"st"abc",这个方法都会把所有内部双引号换成单引号,变成u"te'st'abc",完全满足你的需求。

内容的提问来源于stack exchange,提问作者ABK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:57:40