Steven D'Aprano wrote: > On Fri, 26 Jan 2007 21:33:47 -0800, eight02645999 wrote: > > >>hi >>can someone explain strip() for these : >>[code] >> >>>>>x='www.example.com' >>>>>x.strip('cmowz.') >> >>'example' >>[/code] >> >>when i did this: >>[code] >> >>>>>x = 'abcd,words.words' >>>>>x.strip(',.') >> >>'abcd,words.words' >>[/code] >> >>it does not strip off "," and "." .Why is this so? >>thanks > > > > Fascinating... > > It gets weirder: > > >>>>x.strip('s') > > 'abcd,words.word' > > Why strip only the final s, not the earlier one? > > >>>>x.strip('w') > > 'abcd,words.words' > >>>>x.strip('o') > > 'abcd,words.words' > >>>>x.strip('r') > > 'abcd,words.words' > > Strips nothing. > > >>>>x.strip('ba') > > 'cd,words.words' > > Strips correctly. > > >>>>x.strip('bwa') > > 'cd,words.words' > > Strips the a and b but not the w. > > >>>>x.strip('bwas') > > 'cd,words.word' > > ...and only one of the S's. > > >>>>y = "bwas" >>>>y.strip('bwas') > > '' > >>>>y = "bwasxyz" >>>>y.strip('bwas') > > 'xyz' > > And yet these work. > > > You know, I'm starting to think there may be a bug in the strip method... > either that or the documentation should say: > > strip(...) > S.strip([chars]) -> string or unicode > > Return a copy of the string S with leading and trailing > whitespace removed. > If chars is given and not None, remove none, some or all characters in > chars instead. If chars is unicode, S will be converted to unicode > before stripping > > > *wink* > >
At the risk of appearing that I didn't notice your *wink*, the operative words in the docs would be "leading" and "trailing". But somehow I think you knew that. James -- http://mail.python.org/mailman/listinfo/python-list