为了账号安全,请及时绑定邮箱和手机立即绑定

如何删除拖尾换行符?

如何删除拖尾换行符?

米脂 2019-06-20 16:05:19
如何删除拖尾换行符?什么是Python相当于Perl的chomp函数,如果字符串是换行符,则移除字符串的最后一个字符?
查看完整描述

3 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

我想说的是,“pythonic”获得行而不尾随换行符的方法是plitline()。

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


查看完整回答
反对 回复 2019-06-20
?
繁花如伊

TA贡献2012条经验 获得超12个赞

剥离行尾(EOL)字符的标准方法是使用String rline()方法删除任何尾随\r或\n。下面是Mac、Windows和UnixEOL字符的示例。

>>> 'Mac EOL\r'.rstrip('\r\n')'Mac EOL'>>> 'Windows EOL\r\n'.rstrip('\r\n')'Windows EOL'>>> 'Unix EOL\n'.rstrip('\r\n')'Unix EOL'

使用‘\r\n’作为参数,就意味着它将去掉‘\r’或‘\n’的任何尾随组合。这就是为什么它在上述三种情况下都有效的原因。

这种细微差别在少数情况下很重要。例如,我曾经不得不处理一个包含HL7消息的文本文件。HL7标准需要一个尾随的‘\r’作为它的EOL字符。我使用此消息的Windows机器附加了它自己的“\r\n”EOL字符。因此,每一行的末尾看起来都是‘\r\n’。使用rline(‘\r\n’)会删除整个‘\r’,这不是我想要的。在这种情况下,我只是切掉最后两个字符。

请注意,与Perl不同的是chomp函数,这将在字符串末尾删除所有指定字符,而不仅仅是一个:

>>> "Hello\n\n\n".rstrip("\n")"Hello"


查看完整回答
反对 回复 2019-06-20
  • 3 回答
  • 0 关注
  • 604 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信