我有一个制表符分隔的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,
答案 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