在python中删除文本文件的特定模式[重复]

Posted

技术标签:

【中文标题】在python中删除文本文件的特定模式[重复]【英文标题】:Removing a particular pattern of a text file in python [duplicate] 【发布时间】:2021-11-30 17:35:39 【问题描述】:

我有一个名为 file1 的输入文件,其中包含:

学生 0:表现不错,但可以做得更好。 [76.50%]

学生 1:出色的表现。 [98.50%]

在这个特定文件中,我只想删除 % 部分,以便它产生如下输出:

学生 0:表现不错,但可以做得更好。

学生 1:出色的表现。

我尝试过这种方式:

with open('file1', 'r') as infile, open('file2', 'w') as outfile:
    temp = infile.read().replace("[[0-9]+]", "").replace("%","")
    outfile.write(temp)

但这只是删除 %sign 并给出输出:

学生 0:表现不错,但可以做得更好。 [76.50]

学生 1:出色的表现。 [98.50]

【问题讨论】:

【参考方案1】:

你仍然需要正则表达式:

import re
with open('file1', 'r') as infile, open('file2', 'w') as outfile:
    temp = re.sub("\[[\d+\.%]+\]", "", infile.read())
    outfile.write(temp)

【讨论】:

它发出警告说:“FutureWarning:可能嵌套在位置 1 temp = re.sub("[[0-9]+]", "", infile.read()) .replace("%","")" @Dev 检查我的编辑 好的,谢谢。现在我得到了我想要的输出,但未来的警告仍然存在。你能帮忙吗? @Dev 检查我的编辑

以上是关于在python中删除文本文件的特定模式[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python如何删除文本文件中特定字符串之后或之前的特定行数

在bash中将文本附加到具有模式匹配名称的文件[重复]

如何从python中的图像中删除某些文本?

从文本文件中删除每个单独列中的重复项

逐行删除文本文件中的重复项

python:删除重复的文本行组