【发布时间】:2023-04-09 04:19:01
【问题描述】:
你好我有一个这样的python字符串
s = "Hello world\n\n"
我想计算字符串中尾随换行符的数量,在这种情况下它是 2。
如果我使用s.strip(),它只会删除新行并返回字符串,但不会在此过程中删除多少新行字符。
如何获取计数以及删除尾随的换行符。
谢谢。
【问题讨论】:
你好我有一个这样的python字符串
s = "Hello world\n\n"
我想计算字符串中尾随换行符的数量,在这种情况下它是 2。
如果我使用s.strip(),它只会删除新行并返回字符串,但不会在此过程中删除多少新行字符。
如何获取计数以及删除尾随的换行符。
谢谢。
【问题讨论】:
使用str.rstrip:
>>> s = "Hello world\n\n"
>>> s.rstrip("\n")
'Hello world'
然后只需检查差异:
>>> s = "Hello world\n\n"
>>> len(s) - len(s.rstrip("\n"))
2
【讨论】:
s = "Hello world\n\n"
s.count('\n')
返回 2
然后
s.strip('\n')
【讨论】:
s.strip('\n') 也只删除换行符......并且OP希望有一种方法只有一种方法......
您可以在删除换行符之前计算它们的数量。
count = s.count("\n");
应该返回新行数。
【讨论】:
快速,但也许“脏”,是分两步完成:
s = "Hello world\n\n"
s.count("\n")
计数:2
紧随其后
s.strip("\n")
【讨论】: