如何删除多行python的字符串中的空格?

时间:2017-12-21 10:45:17

标签: python whitespace strip

我使用python来读取txt文件。

我尝试使用.lstrip从左侧删除空格,但它只设法从第一行删除空格。

在文本文件中:

当我使用它时:

puzzle = puzzle.replace('',' ')

 x m f y c x v t l j l q b b y b k o u m j q w b t 
 c a u b m e k n b e y d q m c n z y j p v r a n k 
 a q a c t i v e x n y v w d v c o s h o y a o h g 
 p a g h z k c t u d p t j d p h s z t p r h t t l 
 s b s n a k j w q b o u f t m g n j q b t l i n u 
 t s e w o h v o b d s d u q j i f f k y y l o d o 
 o u k w w e f r o y a m a p m l r r p v d o l o p 
 c q k f x t l k s j v t m t r s b y c m q r r r i 
 k f e r v l q i d q a x a o a n f q j l m c p j h 
 y o y y w r b p f c j l f b c b b c o e c s p w l 
 t w b x e t y u y u f v v m a u a w j m b w l q h 
 t x o k d e x m d b t g v h p s v s q t m l j d x 
 d c a t e n r e h t e o x q d g e u e l j t r r n 
 j a r t e q v t x e j f s q d d k b u h c y s f q 
 h p d r o w s s a p x t r x h p d x c d h i c o n

我使用时得到的结果:print (puzzle.lstrip())

x m f y c x v t l j l q b b y b k o u m j q w b t 
 c a u b m e k n b e y d q m c n z y j p v r a n k 
 a q a c t i v e x n y v w d v c o s h o y a  t j d p h s z t p r h t t l 
 s b s n a k j w q b o u f t m g n j q b t l i n u 
 t s e w o h v o b d s d u q j i f f k y y l o d o 
 o u k w w e f r o y a m a p m l r r p v d o l o p 
 c q k f x t l k s j v t m t r s b y c m q r r r i 
 k f e r v l q i d q a x a o a n f q j l m c p j h 
 y o y y w r b p f c j l f b c b b c o e c s p w l 
 t w b x e t y u y u f v v m a u a w j m b w l q h 
 t x o k d e x m d b t g v h p s v s q t m l j d x 
 d c a t e n r e h t e o x q d g e u e l j t r r n 
 j a r t e q v t x e j f s q d d k b u h c y s f q 
 h p d r o w s s a p x t r x h p d x c d h i c o n 

相反,我想从左边删除所有空格来获取:

x m f y c x v t l j l q b b y b k o u m j q w b t 
c a u b m e k n b e y d q m c n z y j p v r a n k 
a q a c t i v e x n y v w d v c o s h o y a o h g 
p a g h z k c t u d p t j d p h s z t p r h t t l 
s b s n a k j w q b o u f t m g n j q b t l i n u 
t s e w o h v o b d s d u q j i f f k y y l o d o 
o u k w w e f r o y a m a p m l r r p v d o l o p 
c q k f x t l k s j v t m t r s b y c m q r r r i 
k f e r v l q i d q a x a o a n f q j l m c p j h 
y o y y w r b p f c j l f b c b b c o e c s p w l 
t w b x e t y u y u f v v m a u a w j m b w l q h 
t x o k d e x m d b t g v h p s 

感谢您的帮助!!!!

3 个答案:

答案 0 :(得分:2)

从txt开始

txt = """xmfycxvtljlqbbybkoumjqwbt
caubmeknbeydqmcnzyjpvrank
aqactivexnyvwdvcoshoyaohg
paghzkctudptjdphsztprhttl
sbsnakjwqbouftmgnjqbtlinu
tsewohvobdsduqjiffkyylodo
oukwwefroyamapmlrrpvdolop
cqkfxtlksjvtmtrsbycmqrrri
kfervlqidqaxaoanfqjlmcpjh
yoyywrbpfcjlfbcbbcoecspwl
twbxetyuyufvvmauawjmbwlqh
txokdexmdbtgvhpsvsqtmljdx
dcatenrehteoxqdgeueljtrrn
jarteqvtxejfsqddkbuhcysfq
hpdrowssapxtrxhpdxcdhicon"""

您可以打印出所需的结果:

for line in txt.splitlines():
    print(' '.join(line))

如果您不想打印,可以使用列表推导将结果存储在变量中:

result = [' '.join(line) for line in txt.splitlines()]

答案 1 :(得分:0)

您可以newline替换所有space后跟newline的实例:

puzzle = puzzle.replace('\n ','')

答案 2 :(得分:0)

我想这可能有用:

result = [rowhandle.readlines()中行的[row.lstrip()]