python - 如何去除双空格并留下新行? Python

标签 python string newline whitespace strip

如何去除双空格并留下新行?没有 re 是否可行?

如果我有类似的东西:

string = '   foo\nbar  spam'

我需要得到:

'foo\nbar spam'

' '.join(string.split()) 删除所有空格,包括新行:

>>> ' '.join(string.split())
'foo bar spam'

' '.join(string.split(' ')) 什么都不做。

最佳答案

>>> text = '   foo\nbar      spam'
>>> '\n'.join(' '.join(line.split()) for line in text.split('\n'))
'foo\nbar spam'

这会将它分成几行。然后它用空格分割每一行并用单个空格重新加入它。然后它重新加入行。

关于python - 如何去除双空格并留下新行? Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15655087/

相关文章:

c - 如何使用带有标准输入流的 fscanf 终止 while 循环

c - C 中的 snprintf() 不单独处理目标字符串的最低两个字节

java - 你如何防止 scanner.next() 包含换行符?

java - Java 扫描器的 nextLine 函数是否保证只在换行符上定界?

python - 将脚本升级到 Python 3 -\r\n & 文本二进制模式

python - 属性错误: 'module' object has no attribute 'index'

python - 如果给定的字符串与某种格式不匹配,引发哪个异常?

正则表达式在多个定界符之前拆分字符串

python - PyMySQL 其中类似通配符包围变量

python - Keras - 如何为每个输入神经元构建一个共享的 Embedding() 层