如果字符串是换行符,如何删除字符串的最后一个字符?
"abcn" --> "abc"
网友回答:
我会说在没有尾随换行符的情况下获取行的“pythonic”方法是 splitlines()。
>>> text = "line 1nline 2rnline 3nline 4"
>>> text.splitlines()
['line 1', 'line 2', 'line 3', 'line 4']
网友回答:
尝试该方法(请参阅文档 Python 2 和 Python 3)rstrip()
>>> 'test stringn'.rstrip()
'test string'
Python 的方法默认去除各种尾随空格,而不是像 Perl 那样只去除一个换行符。rstrip()
chomp
>>> 'test string n rnnr nn'.rstrip()
'test string'
要仅去除换行符:
>>> 'test string n rnnr nn'.rstrip('n')
'test string n rnnr '
除了 ,还有方法和.以下是其中三个的示例:rstrip()
strip()
lstrip()
>>> s = " nrn n abc def nrn n "
>>> s.strip()
'abc def'
>>> s.lstrip()
'abc def nrn n '
>>> s.rstrip()
' nrn n abc def'
网友回答:
去除行尾 (EOL) 字符的规范方法是使用字符串 rstrip() 方法删除任何尾随的 r 或 n。以下是 Mac、Windows 和 Unix EOL 字符的示例。
>>> 'Mac EOLr'.rstrip('rn')
'Mac EOL'
>>> 'Windows EOLrn'.rstrip('rn')
'Windows EOL'
>>> 'Unix EOLn'.rstrip('rn')
'Unix EOL'
使用 ‘rn’ 作为 rstrip 的参数意味着它将去除 ‘r’ 或 ‘n’ 的任何尾随组合。这就是为什么它在上述三种情况下都有效。
这种细微差别在极少数情况下很重要。例如,我曾经不得不处理一个包含 HL7 消息的文本文件。HL7 标准要求尾随的“r”作为其 EOL 字符。我使用此消息的 Windows 计算机附加了自己的“rn”EOL 字符。因此,每行的末尾看起来像“rrn”。使用 rstrip(’rn’) 会去掉整个’rrn’,这不是我想要的。在这种情况下,我只是切掉了最后两个字符。
请注意,与 Perl 的函数不同,这将去除字符串末尾的所有指定字符,而不仅仅是一个:chomp
>>> "Hellonnn".rstrip("n")
"Hello"
模板简介:该模板名称为【如果字符串是换行符,如何删除字符串的最后一个字符?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Python】栏目查找您需要的精美模板。