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

如何在Python中替换文件内容并提取SOH分隔键值对的值

解决方案

你可以用两种简单方式实现需求,核心逻辑是移除所有tag=前缀,再把SOH替换为逗号即可:

方式1:字符串分割实现(无需引入正则)

SOH = "\x01"
result = []

with open('file.txt', 'r', encoding='utf-8') as f:
    for line in f:
        line = line.strip()
        if not line:
            continue
        # 拆分每个键值对后只取value部分
        values = [kv.split('=')[1] for kv in line.split(SOH)]
        result.append(','.join(values))

# 写入时行之间加空行匹配期望输出
with open('file.txt', 'w', encoding='utf-8') as f:
    f.write('\n\n'.join(result))

方式2:正则替换实现(代码更简洁)

import re

with open('file.txt', 'r', encoding='utf-8') as f:
    content = f.read()

# 依次移除所有tag=前缀、替换SOH为逗号、给每行之间加空行
content = re.sub(r'\d+=', '', content)
content = content.replace('\x01', ',')
content = content.replace('\n', '\n\n')

with open('file.txt', 'w', encoding='utf-8') as f:
    f.write(content)

注意事项

你之前代码中写的replace('x01', ',')是错误的,实际SOH是转义字符\x01,直接写字符串x01无法匹配到实际的分隔符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:18:03