我知道你可以用rstrip删除空行,但是包含文字的行呢?
例如我的字符串输出是:
AAAA
BBBB
CCCC
DDDD
FFFF
我想删除DDDD& FFFF,所以输出可以是
AAAA
BBBB
CCCC
答案 0 :(得分:4)
有很多正确答案,这是基于列表的方法:
my_str = """AAAA
BBBB
CCCC
DDDD
FFFF"""
print("\n".join(my_str.split("\n")[:-2]))
结果是
AAAA
BBBB
CCCC
编辑:str
确实是一个保留世界,你应该使用其他一些变量。
答案 1 :(得分:0)
从末尾(即字符串的右侧)操作时,.rsplit
方法是正确的工具。假设最后一行是换行符,则需要3次拆分。我们可以告诉(r)拆分不要做更多,所以不需要join
来将拆分件放在一起。
string = """\
AAAA
BBBB
CCCC
DDDD
FFFF
"""
print(string.rsplit("\n",3)[0])
答案 2 :(得分:0)
我创建了一个工作方法,它只使用字符串split和join方法将字符串转换为一个行数组,然后切除除最后两行之外的所有行。
string = "AAAA\nBBBB\nCCCC\nDDDD\nFFFF"
string = "\n".join(string.split("\n")[0:-2])
或者,您可以使用rsplit制作两个“分裂”(分为3个)并抓住第一个。
string = string.rsplit("\n", 2)[0]