我想消除字符串两端和单词之间的所有空格。
我有以下Python代码:
def my_handle(self):
sentence = ' hello apple '
sentence.strip()
但这只会消除字符串两边的空格。如何删除所有空格?
发布于 2011-11-25 21:56:31
如果要删除前导空格和结束空格,请使用str.strip()
: :
sentence = ' hello apple'
sentence.strip()
>>> 'hello apple'
如果要删除所有空格字符,请使用str.replace()
:
(注意:此操作仅删除“正常”ASCII空格字符' ' U+0020
但不是任何其他空格
)
sentence = ' hello apple'
sentence.replace(" ", "")
>>> 'helloapple'
如果要删除重复的空格,请使用
sentence = ' hello apple'
" ".join(sentence.split())
>>> 'hello apple'
发布于 2011-11-25 21:54:45
删除str.replace
:仅空格使用
sentence = sentence.replace(' ', '')
删除所有空格字符(空格、制表符、换行符等)可以使用split
然后join
:
sentence = ''.join(sentence.split())
或正则表达式:
import re
pattern = re.compile(r'\s+')
sentence = re.sub(pattern, '', sentence)
如果只想删除开头和结尾的空格,可以使用
sentence = sentence.strip()
发布于 2015-02-19 21:05:42
另一种方法是使用正则表达式和匹配
这些奇怪的空格字符
也是。下面是一些示例:
删除字符串中的所有空格,甚至单词之间的空格:
import re
sentence = re.sub(r"\s+", "", sentence, flags=re.UNICODE)
删除字符串开头的空格:
import re
sentence = re.sub(r"^\s+", "", sentence, flags=re.UNICODE)
删除字符串末尾的空格:
import re
sentence = re.sub(r"\s+$", "", sentence, flags=re.UNICODE)
删除字符串开头和结尾的空格:
import re
sentence = re.sub("^\s+|\s+$", "", sentence, flags=re.UNICODE)
仅删除重复的空格:
import re
sentence = " ".join(re.split("\s+", sentence, flags=re.UNICODE))
(所有示例都可以在Python 2和Python 3中使用)
https://stackoverflow.com/questions/8270092
复制相似问题