我有一些字符串:
"text text blabla bla "
我需要
"text text blabla bla"
如何在python中删除不必要的空格?
我试过replace()
,但我不知道有多少坏空格。
答案 0 :(得分:3)
您可以split
然后join
:
>>> " ".join("text text blabla bla ".split())
'text text blabla bla'
您也可以使用re.sub
:
>>> import re
>>> re.sub(" +"," ","text text blabla bla ").strip()
'text text blabla bla'
或join
和re.findall
:
>>> ' '.join(re.findall("[^ ]+","text text blabla bla "))
'text text blabla bla'
答案 1 :(得分:2)
拆分字符串,然后每次加入一个空格
" ".join(myString.split())
(其中myString是要清理的字符串)
答案 2 :(得分:2)
您可以使用regular expression:
>>> import re
>>> s = "text text blabla bla "
>>> re.sub(r'\s+', ' ', s.strip())
'text text blabla bla'
此处,s.strip()
删除前导和尾随空格,r'\s+'
匹配一个或多个空格的序列(然后用单个空格替换)。
答案 3 :(得分:0)
是的,替换不起作用。
使用正则表达式和strip()
删除空格。
e.g。
import re
s = "text text blabla bla "
re.sub("[ ]+"," ", s).strip()
'text text blabla bla'
OR 使用溢出。
" ".join(s.split())
'text text blabla bla'