繁体   English   中英

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

[英]How can I remove last 2 lines from a string in python?

我知道您可以使用rstrip删除空白行,但是包含文本的行呢?

例如我的字符串输出是:

AAAA
BBBB
CCCC 
DDDD
FFFF

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

AAAA
BBBB
CCCC

有很多正确答案,这是基于列表的方法:

my_str = """AAAA
BBBB
CCCC
DDDD
FFFF"""
print("\n".join(my_str.split("\n")[:-2]))

结果是

AAAA
BBBB
CCCC

编辑: str确实是一个保留的世界,您应该使用其他变量。

从结尾(即字符串的右侧)进行操作时, .rsplit方法是正确的工具。 假设最后一行是换行符终止,则需要进行3个拆分。 我们可以告诉(r)拆分不要做更多的事情,因此不需要join就可以将拆分的片段放在一起。

string = """\
AAAA
BBBB
CCCC
DDDD
FFFF
"""
print(string.rsplit("\n",3)[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]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM