"kyo guan" <[EMAIL PROTECTED]> wrote in
news:[EMAIL PROTECTED]: 

> Hi :
> 
>      Please look at this code:     
> 
>>>> 'exe.torrent'.rstrip('.torrent')
> 'ex'               <-----  it should be 'exe', why?

It really shouldn't be.

> 
> but this is a right answer:
> 
>>>> '120.exe'.rstrip('.exe')        
> '120'               <------ this is a right value.
> 
>      there is a bug in the rstrip, lstrip there isn't this
>      problem. 

It's not a bug, but a misunderstanding of the way the function
works.  

The argument you pass to strip, lstrip or rstrip is a character or
collection of characters to trim from the end of a string. You
would get the same results from: "120.exe".rstrip('.ex') or
"120.exe".rstrip('x.e') or
"120.exe".rstrip('ab.cdefghijklmnopqrstuvwxyz')

In other words, by passing ".torrent" as an argument, you cause
the function to remove and of the characters in this set: [.toren]
from the end of the string. Not surprisingly, it did remove
".torrent", but also the trailing 'e' from 'exe'. Since 'x' is not
in that set of characters, the function stopped there. 

-- 
rzed

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to