首页 > 解决方案 > 删除字符串中以某些字符开头的行

问题描述

我正在尝试删除以某些字符开头的字符串中的所有行。我尝试了下面的代码块,但它不起作用。我的代码应该只打印"Any thanks" 作为结果,但它会输出整个原始文本。

text = """Any thanks \n first_************ \n last_************ has \n"""

from io import StringIO
s = StringIO(text)
for line in (s):
    if not line.startswith(' first_') \
        or not line.startswith(' last_'):
        print(line)

标签: pythonpython-3.xstringtextnlp

解决方案


or由于这两个条件是互斥的,因此每个字符串都将实现这一点- 将您的条件组合为and

if not line.startswith(' first_') \
    and not line.startswith(' last_'):

推荐阅读