仅在特定事件中替换字符

时间:2016-07-26 09:07:33

标签: python

我在列表中有一些以制表符分隔的值,如下所示:

A    B    C|D    E    F|G|H|I    J|K|L    M    N
1    2    3|4    5    6|7|8|9    1|2|3    4    5

我想替换第一次出现的" |"在第5列,输出变为

A    B    C|D    E    F    G|H|I    J|K|L    M    N
1    2    3|4    5    6    7|8|9    1|2|3    4    5

无论如何我可以使用替换,例如line.replace(" |"," \ t",1),但是只在特定列上执行此操作?

1 个答案:

答案 0 :(得分:3)

一种方式:

line = 'A\tB\tC|D\tE\tF|G|H|I\tJ|K|L\tM\tN'
columns = line.split('\t')
columns[4] = columns[4].replace("|", "\t", 1)
new_line = '\t'.join(columns)
print(new_line) # Output: A B   C|D E   F   G|H|I   J|K|L   M   N