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

问题描述 投票:3回答:3

我用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 

谢谢你的帮助!!!!

python whitespace strip
3个回答
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()]

0
投票

您可以用newline替换space的所有实例,然后替换newline

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

0
投票

我想这可行:

result = [row.letrip()for filehandle.readlines()中的行

© www.soinside.com 2019 - 2024. All rights reserved.