0

私の文字列が

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

そんなこと知ってる:

  • を使用してストリッピングするa.strip()と、前後のスペースが削除されます。
  • を使用しa.replace(" ","")て、1つのスペースなどを削除できます

これを定式化して、スペースがいくつあっても、出力が常に各単語の間に1 つのスペースのみとしてレンダリングされ、先頭または末尾には何もレンダリングされないようにする方法は?

(python と Unix で) ... ありがとう!

4

1 に答える 1

7

str.split()その後、使用できますstr.join()。を使用str.splitすると、余分な空白が自動的に削除されます。

>>> a = '    Hello, I  am     trying  to       strip spaces  perfectly '
>>> print ' '.join(a.split())
Hello, I am trying to strip spaces perfectly

シェルツールの使用 ( 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 に答える