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

如何在文本文件中查找替换");"模式?代码修改咨询

解决正则替换连续");"的问题

嘿,你的问题出在正则表达式的写法上~原代码里的[);]是字符类,它会匹配单独的)或者;,所以每个出现的这两个字符都会被替换成目标字符串,这显然不是你想要的效果。

要精准匹配连续的);组合,你需要把正则改成匹配这个完整的序列,注意)是正则中的特殊字符,需要用反斜杠转义,或者直接使用Python的原始字符串(在字符串前加r)来避免转义麻烦。

这里给你修改后的完整代码,同时我还把文件操作改成了更安全的with语句(它会自动帮你关闭文件,避免资源泄漏):

import re

# 读取源文件内容
with open('trial.txt', 'r') as input_file:
    content = input_file.read()

# 精准替换连续的");"为指定字符串
modified_content = re.sub(r'\);', 'firstdata);seconddata', content)

# 写入到新文件
with open('b.txt', 'w') as output_file:
    output_file.write(modified_content)

简单解释下关键修改点:

  • 把'[);]'改成了r'\);':这个正则会精确匹配连续的)和;,而不是单个字符
  • 使用with语句处理文件:比直接open()然后手动关闭更可靠,即使程序中途出错也能确保文件被正确关闭

内容的提问来源于stack exchange,提问作者H.K

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:20:38