使用Python替换\ t \ r \ n之类的内容

时间:2014-07-13 15:15:58

标签: python regex tab-delimited-text

我有一个制表符分隔的txt文件。

我正在尝试替换

\t\t

通过

\t999999999\t

起初我尝试使用notepad ++来做到这一点。我做的。但它太慢了。

所以我想的是,如果我使用python,它是否会很快。

我做了一些搜索,发现Regex replace text in python

但似乎问题不在于替换像\ t本身这样的东西,而只是使用正则表达式来替换普通单词。

我的尝试不起作用

import fileinput
for line in fileinput.FileInput("input.txt",inplace=1):
    line = line.replace(r'\t\t',r'\t999999999\t')
    print line,

2 个答案:

答案 0 :(得分:5)

根据您的需要,您可以使用re.sub() ..

>>> import re
>>> re.sub(r'(?<=\t)(?=\t)', '999999999', 'foo\tbar\t\tbaz')
'foo\tbar\t999999999\tbaz'

replace()方法执行此操作:

>>> s = 'foo\tbar\t\tbaz'
>>> s.replace('\t\t', '\t999999999\t')
'foo\tbar\t999999999\tbaz'

修改

>>> import fileinput
>>> for line in fileinput.input('input.txt', inplace = 1):
...     print line.replace('\t\t', '\t999999999\t'),

答案 1 :(得分:0)

Per @ skram的评论,你试过了吗?

myText = r'\t\r'

newText = myText.replace(r'\t\r', r'\t9999\r')

返回

\t9999\r