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

Python使用re.sub替换int-count值时整行被替换如何解决

问题修复说明

错误根因

你编写的正则替换回调函数仅返回了计算后的数值,没有保留匹配到的"int-count": 前缀。re.sub会将整段匹配到的文本(如"int-count": 1)全部替换为回调的返回值,因此最终行只剩数字,丢失了原有结构。

修复后代码

import re
import fileinput
# 自定义增量值,可按需修改为你的i值
increment = 1
with fileinput.input(files="file.xml", inplace=True, backup='.original.bak', mode='r') as f:
    for line in f:
        result = re.sub(r'"int-count": (\d+)', lambda exp: f'"int-count": {int(exp.group(1)) + increment}', line)
        print(result, end='')

可选优化:如果你的文件是标准JSON格式,更推荐用Python内置的json库读取修改后再写入,比正则替换更稳定,能避免格式异常导致的替换错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:48:03