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

2024-04-18 14:32:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个制表符分隔的txt文件。你知道吗

我正在试着替换

\t\t

\t999999999\t

一开始我试着用notepad++来做。我做到了。但是太慢了。你知道吗

所以我在想,如果我用python来做这个,它是否会很快。你知道吗

我搜索了一下,找到了Regex replace text in python

但问题似乎不是替换像\t本身这样的东西,而是简单地使用regex替换普通单词。你知道吗

我的尝试无效

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

Tags: 文件textinimporttxtforline单词
2条回答

根据@skram的评论,您是否尝试过:

myText = r'\t\r'

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

它回来了

\t9999\r

根据您的需要,您可以使用^{}。。你知道吗

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

或者使用^{}方法:

>>> 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'),

相关问题 更多 >