Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我将如何折叠 python 中的连续空白?
"a b c d e" --> "a b c d e"
假设
s = 'a b c d e'
然后
' '.join(s.split()) 'a b c d e'
会给你指定的输出。
这通过使用split()将字符串分解为单个字符的列表,['a', 'b', 'c', 'd', 'e']然后使用join()函数将它们再次连接成一个字符串。还负责处理任何前导split()或尾随空白。
['a', 'b', 'c', 'd', 'e']
split()
基于简单胜于复杂(Python 之禅)以避免正则表达式“两个问题”问题:)
使用正则表达式(因为标签):
re.sub('\s+', ' ', "a b c d e")
如果您不关心第一个元素的前导空格和最后一个元素的尾随空格,请使用:
re.sub('\s+(?=\s)', '', str)
如果你这样做了,那么删除那些前导和尾随空格的解决方案是:
re.sub('(?:^\s+|\s+(?=\s)|\s+$)', '', str)