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)
根据您的需要,您可以使用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)