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

Python如何移除字符串引号内的点号(.)?

Python移除字符串中引号内的点号最优实现

先明确下需求场景:

原始字符串:"Yes, We do. This is a complex issue that deserves more than a one word answer," Zuckerberg said. Pallone called the response "disappointing."
目标:只移除双引号内部的点号(.),外部的点号保留,最终得到:"Yes, We do This is a complex issue that deserves more than a one word answer," Zuckerberg said. Pallone called the response "disappointing"

最简洁高效的实现方式是用正则表达式配合自定义替换函数,直接上代码:

import re

original_str = '"Yes, We do. This is a complex issue that deserves more than a one word answer," Zuckerberg said. Pallone called the response "disappointing."'

def strip_dots_in_quotes(match_obj):
    # 拿到匹配到的整个引号包裹内容,替换掉里面的所有点号
    return match_obj.group(0).replace('.', '')

# 匹配所有双引号包裹的内容,逐个替换处理
processed_str = re.sub(r'"[^"]+"', strip_dots_in_quotes, original_str)

print(processed_str)

为什么这是最优方案?

  • 精准匹配:正则r'"[^"]+"'只会匹配成对的双引号内容,[^"]+确保不会跨引号匹配(比如不会把两个引号之间的所有内容当成一个匹配项),完美规避边界问题。
  • 逻辑清晰:自定义替换函数只负责处理引号内的内容,把里面的点号去掉,外部的点号完全不受影响,符合需求。
  • 代码简洁:不需要写复杂的循环遍历、状态判断(比如跟踪是否在引号内),几行代码就能搞定,可读性也很强。
  • 扩展性好:如果之后需要修改引号内的其他字符,只需要调整替换函数里的逻辑就行,非常灵活。

运行这段代码后,就能得到你想要的结果啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:52:25