删除字符串中的所有空格

2022-09-05 01:06:54

我想从字符串中消除所有空格,两端和单词之间。

我有这个Python代码:

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

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


答案 1

如果要删除前导空格和尾部空格,请使用 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'

答案 2

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

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

要删除所有空格字符(空格、制表符、换行符等),可以使用拆分然后联接

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

或正则表达式:

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

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

sentence = sentence.strip()

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