当前位置: 首页 > 面试题库 >

删除包含某些字符串的行

左丘边浩
2023-03-14
问题内容

我正在尝试从文本文件中读取文本,读取行,删除包含特定字符串的行(在这种情况下为“坏”和“顽皮”)。我写的代码是这样的:

infile = file('./oldfile.txt')

newopen = open('./newfile.txt', 'w')
for line in infile :

    if 'bad' in line:
        line = line.replace('.' , '')
    if 'naughty' in line:
        line = line.replace('.', '')
    else:
        newopen.write(line)

newopen.close()

我这样写,但没有成功。

重要的一件事是,如果文本的内容是这样的:

good baby
bad boy
good boy
normal boy

我不希望输出有空行。所以不喜欢:

good baby

good boy
normal boy

但是像这样:

good baby
good boy
normal boy

我应该从上面的代码中编辑什么?


问题答案:

您可以像这样使代码更简单,更易读

bad_words = ['bad', 'naughty']

with open('oldfile.txt') as oldfile, open('newfile.txt', 'w') as newfile:
    for line in oldfile:
        if not any(bad_word in line for bad_word in bad_words):
            newfile.write(line)

使用上下文管理器和任何。



 类似资料:
  • 问题内容: 我正在考虑使用删除字符串中的某些字符。目前尚不清楚将要删除哪些字符(即我想删除哪些字符),但是我会假定任何字符都是有效的(例如和之类的东西,等等)。 我遇到了http://www.java-tips.org/java-se-tips/java.lang/strip-certain-characters- from-a-string.html, 但是肯定有比遍历每个字符更好的方法… 有什

  • 问题内容: 我对此感兴趣 ,它将在给定的$ string中搜索$ char1和$ char2,如果找到了该字符串,则从这两个字符之间的子字符串中清除$ string, 包括 $ char1和$ char2本身。 例: 现在,$ string应该只包含 有人有快速解决方案吗? 问题答案:

  • 我应该编写一个函数,排除句子(字符串)中的某些字母(char)。我基本上也这么做了,但问题是我只剪掉了这个字母在句子中的第一次出现。 我需要如何更改最后一个函数以删除字母的所有外观?找到所有索引可能并不难,但真正的困难是之后将子字符串放在一起,这样您仍然只剩下一句话,而没有某些字母。因为如果我理解正确,索引越多,您需要添加的不同子字符串就越多。 目前我得到了这个。 我们的目标是:

  • 问题内容: 我只是想知道如何在PHP中某个子字符串之后删除所有内容 例如: 我想要它,以便它删除包括子字符串“ By”在内的所有文本。 谢谢 问题答案: 用简单的英语来说:给我字符串的一部分,从开始到结束,直到您第一次遇到分支的位置。

  • 考虑矩阵: 然后,列表: 如果badcombos矩阵中的任何颜色组合出现在列表中(即上例中的子列表[[3]]和[[4]]),则将从列表中删除,我如何根据这些条件“减少”列表。

  • 我要删除包含所需字符串的所有行, 假设我有以下数据帧: 我想删除所有包含字符串的行。我已经搜索了它,但大多数答案是基于列名称,在我的情况下,我不会知道列它可以存在于任何列中。 输出数据帧应为