2016-07-26 3 views
0

У меня есть некоторые значения, разделенная табуляция в списке ищет что-то вроде этого:Заменить символ только на конкретном случае

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 («|», «\ т», 1), но делает это только сделать это на конкретных столбец?

ответ

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 
Смежные вопросы