gpt4 book ai didi

python - 在字符串中规范化行结束的最pythonic方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 21:17:05 25 4
gpt4 key购买 nike

给定一个来源未知的文本字符串,如何最好地重写它以使其具有已知的行尾约定?

我通常这样做:

lines = text.splitlines()
text = '\n'.join(lines)

...但这不能处理完全混淆约定的“混合”文本文件(是的,它们仍然存在!)。

编辑

当然,我正在做的事情是:

'\n'.join(text.splitlines())

...这不是我要问的。

之后的总行数应该相同,所以不会剥离空行。

测试用例

split

'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 行。在混合上下文中,分割线假定 '\r\n' 是单个逻辑换行符,导致最后两个测试用例的 4 行。

嗯,可以通过比较 splitlines() 和 split('\n') 和/或 split('\r') 的结果来检测包含 '\r\n' 的混合上下文...

最佳答案

mixed.replace('\r\n', '\n').replace('\r', '\n')

应该处理所有可能的变体。

关于python - 在字符串中规范化行结束的最pythonic方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1749466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com