2014-12-23 4 views

답변

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' 

또는 joinre.findall을 :

>>> ' '.join(re.findall("[^ ]+","text text     blabla bla ")) 
'text text blabla bla' 
+0

이 댕, 하하 – doniyor

+0

.. 아름다운이 생각 덕분에 올 didnot, 당신은 끝을 제거 할 필요가 공간. 하지만 첫 번째 해결 방법은 단 하나뿐입니다. – jamylak

+0

그냥 2 일이 @NPE하여 솔루션을 좋아한다 참고이 최악에 최선의 순서대로 – jamylak

2

분할 문자열은 다음과 가입 한 칸씩 시간

" ".join(myString.split()) 

2

당신은 이것에 대한 regular expression 사용할 수있다 (여기서 mystring에는 정리하는 문자열입니다) : 여기

>>> import re 
>>> s = "text text     blabla bla " 
>>> re.sub(r'\s+', ' ', s.strip()) 
'text text blabla bla' 

, s.strip() 선도하고 공백을 후행 제거를하고, r'\s+'는 일치 하나 이상의 공백 문자 시퀀스 (단일 공백 ​​문자로 대체 됨).

0

예, 바꾸기가 작동하지 않습니다. 공백을 제거하려면 정규식을 사용하고 strip()을 사용하십시오.

import re 
s = "text text     blabla bla " 
re.sub("[ ]+"," ", s).strip() 
'text text blabla bla' 

또는 유출 물.

" ".join(s.split()) 
'text text blabla bla' 
관련 문제