我在目录中有一堆文本文件,需要替换其中的文本。每行看起来像这样:
B6 0x040A43
B17 0x6C00C8
我需要:
1,28
替换第一部分。\t
空白。0x
。所以结果应如下所示:
1,28,04,0A43
1,28,6C,00C8
我仍在学习python和regex,经过数小时的研究,到目前为止,我已经写了以下内容:
for filename in glob.glob(os.path.join(directory, '*.txt')):
with open(filename, "r") as f:
lines = f.read().splitlines()
for line in lines:
line = re.sub(r'B\d{1,}[\s+]0x','1,28,', line)
print(line)
这将打印出1,28,040A43
,因此除最后一个逗号外,所有内容都包含在内。
我的问题是:
我在目录中有一堆文本文件,需要替换其中的文本。每行如下所示:B6 0x040A43 B17 0x6C00C8我需要:用1,28替换第一部分。删除空格,...
import glob
import os
import re
directory = 'test'
for filename in glob.glob(os.path.join(directory, '*.txt')):
with open(filename, "r") as f:
lines = f.read().splitlines()
for line in lines:
line = re.sub(r'B\d{1,}[\s+]0x','1,28,', line)
line = line[:7] + ',' + line[7:]
print(line)