python replace从每行删除一个选项卡

时间:2015-03-02 07:09:02

标签: python

例如,我有一个包含这样的行的文件

\tline1\t
\t\tline2\t
\t\tline3
\tline4

我只需要删除每个字符串开头的第一个标签(我不在乎行中是否有更多标签) 所以结果假设看起来像这样

line1\t
\tline2\t
\tline3
line4

怎么做?

2 个答案:

答案 0 :(得分:3)

s = "\thello"
s.replace("\t", "", 1)

不确定是否需要,但这会处理像'" hello \ tworld"另外,即替换字符串中的第一个标签,忽略字符串中的位置

答案 1 :(得分:2)

正则表达式可能有所帮助:

>>> import re
>>> pattern = re.compile('^\t')  # match a tab in the beginning of the line
>>> pattern.sub('', '\tline1\t')
'line1\t'
>>> pattern.sub('', '\t\tline2\t')
'\tline2\t'
>>> pattern.sub('', 'line3\t')
'line3\t'