[Python] togliere spazi finali da ogni singola riga di un testo
Lorenzo Sutton
lorenzofsutton a gmail.com
Dom 2 Set 2012 16:37:04 CEST
On 02/09/12 09:18, Federico Bruni wrote:
> Buongiorno a tutti
>
> s = 'Ciao mondo '
> s = s.rstrip()
> print(s)
> Ciao mondo
>
> Questo funziona.
> Se invece ho una stringa con pių linee ho dei problemi.
> Ho provato questo ma non va:
>
> s = 'Ciao mondo \nsono un newbie '
> for line in s:
> s = line.rstrip()
> print(s)
>
> Ha cancellato tutto.
> Dove sbaglio?
Ciao, partendo dal tuo iniziale tentativo mi permetto di provare un
approccio un po' diverso a quelli suggeriti:
def endstrip(s):
""" Strip the end of the string, like rstrip but also but also
multiline """
for i in xrange(len(s)-1,0,-1):
if not s[i].isspace():
return s[0:i+1]
>>> endstrip("Ciao \nSono un volenteroso ")
'Ciao \nSono un volenteroso'
>>> endstrip("a b c d e ")
'a b c d e'
>>> endstrip("\n\n")
>>> endstrip("\n\nabcde\n\n")
'\n\nabcde'
Ovviamente non č strettamente necessario metterlo in una funzione :)
Lorenzo
Maggiori informazioni sulla lista
Python