假设我的字符串是
a = ' Hello, I am trying to strip spaces perfectly '
我知道:
- 剥离使用
a.strip()
将删除前面和前导空格。 - 使用
a.replace(" ","")
我可以删除一个空格等
如何制定这一点,以便无论有多少空格,输出都将始终呈现为每个单词之间只有一个空格,并且在开头或结尾处没有空格?
(在 python 和 Unix 中)...谢谢!
str.split()
然后就可以使用了str.join()
。Usingstr.split
会自动去掉多余的空格:
>>> a = ' Hello, I am trying to strip spaces perfectly '
>>> print ' '.join(a.split())
Hello, I am trying to strip spaces perfectly
使用 shell 工具(谢谢AdamKG!):
$ echo ' Hello, I am\n trying to strip spaces perfectly ' | tr -s "[:space:]" " " | sed -e 's/^ *//' -e 's/ *$//'
Hello, I am trying to strip spaces perfectly