【发布时间】:2019-10-01 03:21:16
【问题描述】:
输入字符串是这样的
$sim,abad_x_y,rat,2,3,a,b
123,456,1345
323,455,2433
$sim,abad_z_c,rat,2,3,c,d
123,4456,1345
323,4554,2445
输出
$sim,abad_x_y,rat,2,3,x,y
123,456,1345
323,455,2433
$sim,abad_z_c,rat,2,3,z,c
123,4456,1345
323,4554,2445
应该从 $sim 行的第二个标记 x,y 取并替换 a,b 在末尾em>
import os
import sys
import re
fin=open('old_file.txt','r')
fout=open('new_file.txt','a')
line_list = fin.readlines()
for w in line_list.rstrip('\n\r'):
if w.startswith('$sim'):
word_set=w.split(',')
split_zone=word_set[1].split('_')
fout=fout.write(w.replace(word_set[-1],split_zone[-1]))
fout=fout.write(w.replace(word_set[-2],split_zone[-2]))
fout=fout.write(w)
fin.close()
fout.close()
【问题讨论】:
-
问题是什么?
-
其实我把上面的文本文件中的输入替换成下面显示的输出
-
什么不起作用(编辑问题以描述发生了什么以及应该发生什么)?请修正您的代码格式。
-
我还看到 $sim,abad_z_c,rat,2,3,c,d 需要替换为 $sim,abad_z_c,rat,2,3,z,c 。这是准确还是错字?
-
是的,这是准确的。这就是我想要的
标签: python python-3.x string replace