删除字符串中的所有空格

新手上路,请多包涵

我想从字符串的两端以及单词之间消除所有空格。

我有这个 Python 代码:

 def my_handle(self):
    sentence = ' hello  apple  '
    sentence.strip()

但这只会消除字符串两侧的空格。如何删除所有空格?

原文由 0x12 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 642
2 个回答

如果要删除前导和结尾空格,请使用 str.strip()

 >>> "  hello  apple  ".strip()
'hello  apple'

如果要删除所有空格字符,请使用 str.replace() _(注意这只会删除“正常” ASCII 空格字符 ' ' U+0020 但不会删除 任何其他空格)_ :

 >>> "  hello  apple  ".replace(" ", "")
'helloapple'

如果要删除重复的空格,请使用 str.split() 后跟 str.join()

 >>> " ".join("  hello  apple  ".split())
'hello apple'

原文由 Cédric Julien 发布,翻译遵循 CC BY-SA 4.0 许可协议

要 _仅删除空格_,请使用 str.replace

 sentence = sentence.replace(' ', '')

要删除 _所有空白字符_(空格、制表符、换行符等),您可以使用 split 然后 join

 sentence = ''.join(sentence.split())

或正则表达式:

 import re
pattern = re.compile(r'\s+')
sentence = re.sub(pattern, '', sentence)

如果只想删除开头和结尾的空格,可以使用 strip

 sentence = sentence.strip()

您还可以使用 lstrip 仅从字符串的开头删除空格,并使用 rstrip 删除字符串末尾的空格。

原文由 Mark Byers 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题