给定一个未知源的文本字符串,如何最好地重写它以获得已知的行尾约定?
我通常会:
lines = text.splitlines()
text = '\n'.join(lines)
。。。但这不能处理完全混乱的约定的“混合”文本文件(是的,它们仍然存在!)。
当然,我要做的是:
'\n'.join(text.splitlines())
。。。这不是我要问的。
之后的总行数应该是相同的,所以不能剥离空行。
分裂
'a\nb\n\nc\nd'
'a\r\nb\r\n\r\nc\r\nd'
'a\rb\r\rc\rd'
'a\rb\n\rc\rd'
'a\rb\r\nc\nd'
'a\nb\r\nc\rd'
。。都会导致5行。在混合上下文中,splitlines假定'\r\n'是一个逻辑换行符,导致最后两个测试用例的4行。
嗯,可以通过比较splitlines()和split('\n')和/或split('\r')的结果来检测包含'\r\n'的混合上下文。。。
目前没有回答
相关问题 更多 >
编程相关推荐