0

假设我的字符串是

a = '    Hello, I  am     trying  to       strip spaces  perfectly '

我知道:

  • 剥离使用a.strip()将删除前面和前导空格。
  • 使用a.replace(" ","")我可以删除一个空格等

如何制定这一点,以便无论有多少空格,输出都将始终呈现为每个单词之间只有一个空格,并且在开头或结尾处没有空格?

(在 python 和 Unix 中)...谢谢!

4

1 回答 1

7

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
于 2013-07-23T10:52:29.303 回答