如何从python中的字符串中删除最后2行?

时间:2017-10-10 13:39:19

标签: python string

我知道你可以用rstrip删除空行,但是包含文字的行呢?

例如我的字符串输出是:

AAAA
BBBB
CCCC 
DDDD
FFFF

我想删除DDDD& FFFF,所以输出可以是

AAAA
BBBB
CCCC

3 个答案:

答案 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]