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

Python技术求助:如何仅移除字母之间的双引号?

解决Python字符串中字母间嵌套双引号的删除问题

你现在的需求是:删除字符串里夹在字母中间的双引号,保留其他位置的双引号。

先看你的输入(注意实际Python中要正确定义这类字符串,要么用转义符,要么用单引号包裹):

a = '"comment_text": "Siti Sa"diah I need this for my neighbor needs"'

期望的输出结果:

a = '"comment_text": "Siti Sadiah I need this for my neighbor needs"'

之前用的re.sub(r'[^A-Za-z]', '', a)会删掉所有非字母字符,完全不符合需求;re.sub('"', '', a)会删掉所有双引号,也达不到目的。

正确的方案是用正则精准匹配仅夹在字母中间的双引号,然后替换为空:

import re

# 定义原字符串
a = '"comment_text": "Siti Sa"diah I need this for my neighbor needs"'
# 替换字母间的双引号
processed_str = re.sub(r'(?<=[A-Za-z])"(?=[A-Za-z])', '', a)
print(processed_str)

运行后就能得到你想要的结果:"comment_text": "Siti Sadiah I need this for my neighbor needs"

正则逻辑说明:

  • (?<=[A-Za-z]):正向肯定后瞻,确保双引号的前一个字符是字母
  • ":目标匹配的双引号
  • (?=[A-Za-z]):正向肯定前瞻,确保双引号的后一个字符是字母

这套规则只会定位到夹在字母中间的双引号,其他位置的双引号(比如包裹键值对的)都会被保留。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 05:12:38