从文本文件中删除通用字符串

时间:2016-03-23 15:09:39

标签: python

我正在尝试从文本文件中删除字符串。字符串由不同类型的字符组成,并且都是不同的,但它们都以相同的三个字母开头,并在行尾完成。

到目前为止,我正在使用此代码,当我想要删除所有特定字符串时,我知道这些代码有效:

import sys
import fileinput

for i, line in enumerate(fileinput.input('duck_test.txt', inplace=1)):
    sys.stdout.write(line.replace('pep.*', '')

我试图使用'。*'来修改它以删除通用字符串,但它不起作用。有谁知道我哪里出错了?感谢。

2 个答案:

答案 0 :(得分:0)

尝试使用re模块用于此目的:

import re
import fileinput


for line in fileinput.input('duck_test.txt', inplace=True):
    if not re.search(r'pep.*', line):
        sys.stdout.write(line)

答案 1 :(得分:0)

以下测试代码将替换以字母“pep”开头的所有字符串。并以文件中的换行符结尾' duck_test'用空字符串:

import sys
import fileinput
import re

for i, line in enumerate(fileinput.input('duck_test', inplace=1)):
    sys.stdout.write(re.sub(r'pep.*', '', line))