查找模式的所有匹配项并将其替换为文本文件

时间:2018-08-27 05:16:40

标签: python

来自文本文件,其内容如下:

NPAD2077    छर्नअघि\V_VM बिउलाई\N_NN दुई\QT_QTC भाग\N_NN गरेर\V_VM छिट्टो\JJ उमार्नका\V_VM निम्ति\PSP एक\QT_QTC रात\N_NN पानीमा\N_NN भिजाइन्छ\V_VM ।\RD_PUNC
NPAD2078    पन्ध्र\QT_QTC दिनका\N_NN अन्तरालमा\N_NN सिँचाइ\N_NN गर्नुपर्छ\V_VM ।\RD_PUNC
NPAD2079    पातलाई\N_NN उम्रिएको\V_VM १५\QT_QTC -\RD_PUNC २०\QT_QTC दिनमा\N_NN ध्यानपूर्वक\N_NN चुँड्नुपर्छ\V_VM ।\RD_PUNC
NPAD2080    प्याजको\N_NN दाना\N_NN सुप\N_NN ,\RD_PUNC सस\N_NN अथवा\CC_CCD अचार\N_NN बनाउँदा\V_VM अनि\CC_CCD सब्जीमा\N_NN उपयोग\N_NN गरिन्छ\V_VM ।\RD_PUNC
NPAD2081    उत्‍तम\JJ खेतीका\N_NN निम्ति\PSP एकदमै\QT_QTF तातो\JJ ,\RD_PUNC चिसो\JJ अथवा\CC_CCD पानी\N_NN हुनु\V_VM हुँदैन\V_VM ।\RD_PUNC
NPAD2082    बारी\N_NN राम्ररी\RB जोतेर\V_VM चाँहिदो\JJ लम्बाइ\N_NN अनि\CC_CCD चौडाइको\N_NN ड्याङ\N_NN उठाउनु\V_VM पर्छ\V_VM ।\RD_PUNC
NPAD2083    बिउलाई\N_NN रबी\N_NN फसलका\N_NN निम्ति\PSP अक्टोबर\N_NN -\RD_PUNC नोभेम्बर\N_NN अनि\CC_CCD खरिफ\N_NN फसलका\N_NN निम्ति\PSP अप्रेल\N_NN -\RD_PUNC जुनमा\N_NN रोप्नुपर्छ\V_VM ।\RD_PUNC

如何删除所有NPAD20 **条款?

4 个答案:

答案 0 :(得分:1)

使用re.sub

例如:

import re

res = []
with open(filename) as infile:                        #Open file for read
    for line in infile:                               #Iterate Each line
        res.append(re.sub(r"NPAD\d+\s*", "", line))   #Remove NPAD* from line

with open(filename, "w") as outfile:               
    for line in res:
        outfile.write(line)                            #Write line back to file

答案 1 :(得分:1)

救援的命令行:

sed 's/NPAD20.. *//' file

答案 2 :(得分:0)

简单的两层纸:

with open(infile,'r') as f, open(outfile, "w") as f2:
   f2.writelines([i.split()[-1] for i in f.readlines()])

答案 3 :(得分:0)

如果第一列中的每个字符串均以NPAD20开头,则可以盲目丢弃第一列:

open('outfile', 'w').writelines(l.split(maxsplit=1)[1] for l in open('infile', 'r'))
相关问题