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

如何提取引号间内容并替换(已掌握文件读写操作)

提取并替换文本引号内内容的方法

提取引号内的内容

用Python的re模块(正则表达式)就能轻松搞定,核心是用非贪婪匹配精准捕获每一对引号之间的内容:

  • 提取双引号内内容:
import re

text = 'I love "Python", and "regular expressions" are useful'
quoted_contents = re.findall(r'"(.*?)"', text)
print(quoted_contents)  # 输出: ['Python', 'regular expressions']
  • 提取单引号内内容:把正则里的双引号换成单引号即可:r"'(.*?)'"
  • 同时提取单/双引号内容:用r'["\'](.*?)["\']',注意转义引号

替换引号内的内容

同样用re.sub()方法,支持固定内容替换,也支持自定义逻辑替换:

  1. 固定内容替换
import re

text = 'Hello "foo", hi "bar"'
new_text = re.sub(r'"(.*?)"', '"REPLACED_CONTENT"', text)
print(new_text)  # 输出: Hello "REPLACED_CONTENT", hi "REPLACED_CONTENT"
  1. 自定义逻辑替换(比如把引号内内容转大写)
import re

def custom_replace(match):
    # match.group(1)就是捕获到的引号内原内容
    return f'"{match.group(1).upper()}"'

text = 'Hello "foo", hi "bar"'
new_text = re.sub(r'"(.*?)"', custom_replace, text)
print(new_text)  # 输出: Hello "FOO", hi "BAR"

注意事项

  • 如果文本里有嵌套引号(比如He said: "She told me 'hello'"),简单正则会失效,这种场景需要用更复杂的语法或者专门的解析库处理
  • 若处理中文引号(“”/‘’),直接把正则里的引号替换成对应的中文引号即可,比如r'“(.*?)”'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 14:40:49