如何删除尾随换行符?

2022-09-05 00:49:13

如果字符串是换行符,如何删除字符串的最后一个字符?

"abc\n"  -->  "abc"

答案 1

试试这个方法(参见文档 Python 2Python 3rstrip())

>>> 'test string\n'.rstrip()
'test string'

默认情况下,Python的方法会去除各种尾随空格,而不仅仅是Perl对chomp所做的一个换行符。rstrip()

>>> 'test string \n \r\n\n\r \n\n'.rstrip()
'test string'

仅去除换行符:

>>> 'test string \n \r\n\n\r \n\n'.rstrip('\n')
'test string \n \r\n\n\r '

除了 之外,还有 方法和 。下面是其中三个的示例:rstrip()strip()lstrip()

>>> s = "   \n\r\n  \n  abc   def \n\r\n  \n  "
>>> s.strip()
'abc   def'
>>> s.lstrip()
'abc   def \n\r\n  \n  '
>>> s.rstrip()
'   \n\r\n  \n  abc   def'

答案 2

我会说,在没有尾随换行符的情况下获取行的“pythonic”方法是splitlines()。

>>> text = "line 1\nline 2\r\nline 3\nline 4"
>>> text.splitlines()
['line 1', 'line 2', 'line 3', 'line 4']