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

如何去除双引号之间的嵌套双引号?附示例

如何去除双引号内部的嵌套双引号?

嘿,这个文本处理的场景我之前碰过好几次!咱们直接解决你的问题——核心就是保留字符串外层的双引号,把内部多余的嵌套双引号全部删掉对吧?

先再明确下你的需求:

  • 输入:"Test T"est" → 输出:"Test Test"
  • 输入:"Test1 "Test1" → 输出:"Test1 Test1"

解决方案:正则匹配+字符串替换

我用Python来写示例(其他编程语言思路完全一致),核心逻辑很直观:先锁定外层双引号包裹的内容,清理掉中间的嵌套引号,再重新套回外层引号。

直接上可运行的代码:

import re

def clean_nested_quotes(input_str):
    # 先判断输入是否被完整的外层双引号包裹
    match = re.match(r'^"(.*)"$', input_str)
    if match:
        # 提取双引号中间的所有内容
        inner_content = match.group(1)
        # 把内部所有嵌套的双引号替换为空
        cleaned_inner = inner_content.replace('"', '')
        # 重新用双引号包裹处理后的内容
        return f'"{cleaned_inner}"'
    # 如果输入没有外层双引号,直接返回原字符串(可根据需求调整这部分逻辑)
    return input_str

# 测试你的示例
print(clean_nested_quotes('"Test T"est"'))  # 输出:"Test Test"
print(clean_nested_quotes('"Test1 "Test1"'))  # 输出:"Test1 Test1"

逻辑拆解

  1. 正则^"(.*)"$精准匹配:^"表示字符串开头是双引号,"$表示结尾是双引号,中间的(.*)捕获所有内部文本;
  2. 用replace把捕获到的内部文本里的所有双引号直接删掉;
  3. 最后把清理好的内容重新用双引号包裹,返回结果。

如果你的场景里有更复杂的输入(比如多组外层引号对),可以再微调正则逻辑,但针对你给出的示例,这个方案完全够用啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:16:34