2012-05-22 27 views
38

Linux'taki python 2.7'deki tüm boşlukları/sekmeleri/yeni satırları kaldırmaya çalışıyorum. Şerit boşlukları/sekmeler/yeni satırlar - python

işi yapması gerektiğini bu yazdı:

myString="I want to Remove all white \t spaces, new lines \n and tabs \t" 
myString = myString.strip(' \n\t') 
print myString 

çıkışı:

I want to Remove all white spaces, new lines 
and tabs 

basit bir şey yapmak gibi görünüyor, ama ben burada bir şey eksik. Bir şey ithal etmeli miyim? Bu, ilgili sorunun cevabı dışarı

+2

Hayır olmamalı newlinesandtabs. –

+1

yararlı olabilir: http://stackoverflow.com/questions/8928557/python-splitting-string-by-all-space-characters – newtover

+1

Bu, benim için çalıştı: [Nasıl beyaz boşluklar (sekmeler dahil)?] [1] s = s.strip ('\ t \ n \ r') [1]: http://stackoverflow.com/questions/1185524/how-to-trim-whitespace- – stamat

cevap

25

, en kolay yolu böyle bir Normal ifadeyle geçerli: İstersen sonra .strip() ile sonunda boşluk kaldırabilirsiniz

>>> import re 
>>> myString="I want to Remove all white \t spaces, new lines \n and tabs \t" 
>>> re.sub('\s+',' ',myString) 
'I want to Remove all white spaces, new lines and tabs ' 

.

hiçbir sep veya sep=None ile
73

Kullanım str.split([sep[, maxsplit]]): sep belirtilmeyen veya None olduğu değilse

farklı bir bölme algoritması uygulanır:

docs itibaren ardışık boşluk içinde çalışır bir olarak kabul edilmektedir Tek ayırıcı ve sonuç başlangıcında boş dizeler içermez veya dizenin başında veya sonunda boşluk varsa, sonlanır.

Demo: döndürdü listedeki kullanın str.join bu çıktıyı almak için

>>> myString.split() 
['I', 'want', 'to', 'Remove', 'all', 'white', 'spaces,', 'new', 'lines', 'and', 'tabs'] 

: Bu sadece sekme, yeni satır kaldırır

>>> ' '.join(myString.split()) 
'I want to Remove all white spaces, new lines and tabs' 
10
import re 

mystr = "I want to Remove all white \t spaces, new lines \n and tabs \t" 
print re.sub(r"\W", "", mystr) 

Output : IwanttoRemoveallwhitespacesnewlinesandtabs 
+1

dahil olmak üzere sekmeler de bu ';' kaldırır – jan

1

, boşluklar ve başka hiçbir şey.

import re 
myString = "I want to Remove all white \t spaces, new lines \n and tabs \t" 
output = re.sub(r"[\\n\\t\s]*", "", mystr) 

ÇIKIŞ:

IwaoRemoveallwhiespaces,

İyi günler ewliesadabs!

1

Kullanım

kütüphane yeniden
import re 
myString = "I want to Remove all white \t spaces, new lines \n and tabs \t" 
myString = re.sub(r"[\n\t\s]*", "", myString) 
print myString 

Çıktı:

IwanttoRemoveallwhitespaces,