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

use*_*767 0 python regex tab-delimited-text

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

我想替换

\t\t
Run Code Online (Sandbox Code Playgroud)

通过

\t999999999\t
Run Code Online (Sandbox Code Playgroud)

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

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

我做了一些搜索,发现正则表达式替换python中的文本

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

我的尝试没有用

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

hwn*_*wnd 5

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

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

或者replace()执行此操作的方法:

>>> s = 'foo\tbar\t\tbaz'
>>> s.replace('\t\t', '\t999999999\t')
'foo\tbar\t999999999\tbaz'
Run Code Online (Sandbox Code Playgroud)

编辑

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