In article <[EMAIL PROTECTED]>,
[EMAIL PROTECTED] wrote:
> I'm using Python 2.3.5 and when I type the following in the interactive
> prompt I see that strip() is not working as advertised:
>
> >>>s = 'p p:p'
> >>>s.strip(' :')
> 'p p:p'
>
> Is this just me or does it not work? I want to get rid of all ' ' and
> ':' in the string. I've checked the doc and from what I can tell this
> is what strip() is supposed to do.
In /my/ docs, s.strip return a copy of s where all /leading/ and
/heading/ spaces are removed. s.strip(x) does the same but removing
chars of x.
So, what you're asking for by s.strip(' :') is "remove heading or
leading space or ':' chars", /not/ "remove heading or leading space or
':' chars".
If you want to get rid of ' ' and ':' anywhere in s, i think that
string.maketrans and s.translate will do the job:
>>> import string
>>> s = 'p p:p'
>>> ident = string.maketrans('', '')
>>> s.translate(ident,' :')
'ppp'
--
Jaco
--
http://mail.python.org/mailman/listinfo/python-list