如何删除尾随换行符?
如果字符串是换行符,如何删除字符串的最后一个字符?
"abc\n" --> "abc"
试试这个方法(参见文档 Python 2 和 Python 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'
我会说,在没有尾随换行符的情况下获取行的“pythonic”方法是splitlines()。
>>> text = "line 1\nline 2\r\nline 3\nline 4"
>>> text.splitlines()
['line 1', 'line 2', 'line 3', 'line 4']