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
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python