首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >删除字符串中的所有空格

删除字符串中的所有空格
EN

Stack Overflow用户
提问于 2011-11-25 21:51:21
回答 11查看 2.2M关注 0票数 1K

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

我有以下Python代码:

代码语言:javascript
复制
def my_handle(self):
    sentence = ' hello  apple  '
    sentence.strip()

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

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2011-11-25 21:56:31

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

代码语言:javascript
复制
sentence = ' hello  apple'
sentence.strip()
>>> 'hello  apple'

如果要删除所有空格字符,请使用str.replace():

(注意:此操作仅删除“正常”ASCII空格字符' ' U+0020但不是任何其他空格

)

代码语言:javascript
复制
sentence = ' hello  apple'
sentence.replace(" ", "")
>>> 'helloapple'

如果要删除重复的空格,请使用

代码语言:javascript
复制
sentence = ' hello  apple'
" ".join(sentence.split())
>>> 'hello apple'
票数 2K
EN

Stack Overflow用户

发布于 2011-11-25 21:54:45

删除str.replace:仅空格使用

代码语言:javascript
复制
sentence = sentence.replace(' ', '')

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

代码语言:javascript
复制
sentence = ''.join(sentence.split())

或正则表达式:

代码语言:javascript
复制
import re
pattern = re.compile(r'\s+')
sentence = re.sub(pattern, '', sentence)

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

代码语言:javascript
复制
sentence = sentence.strip()

您还可以使用lstrip仅从字符串的开头删除空格,并且rstrip若要删除字符串末尾的空格,请执行以下操作。

票数 349
EN

Stack Overflow用户

发布于 2015-02-19 21:05:42

另一种方法是使用正则表达式和匹配

这些奇怪的空格字符

也是。下面是一些示例:

删除字符串中的所有空格,甚至单词之间的空格:

代码语言:javascript
复制
import re
sentence = re.sub(r"\s+", "", sentence, flags=re.UNICODE)

删除字符串开头的空格:

代码语言:javascript
复制
import re
sentence = re.sub(r"^\s+", "", sentence, flags=re.UNICODE)

删除字符串末尾的空格:

代码语言:javascript
复制
import re
sentence = re.sub(r"\s+$", "", sentence, flags=re.UNICODE)

删除字符串开头和结尾的空格:

代码语言:javascript
复制
import re
sentence = re.sub("^\s+|\s+$", "", sentence, flags=re.UNICODE)

仅删除重复的空格:

代码语言:javascript
复制
import re
sentence = " ".join(re.split("\s+", sentence, flags=re.UNICODE))

(所有示例都可以在Python 2和Python 3中使用)

票数 130
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8270092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档