Deleting specific characters from a string
walter at livinglogic.de
Thu Jul 10 00:01:32 CEST 2003
Behrang Dadsetan wrote:
> Walter Dörwald wrote:
>> Behrang Dadsetan wrote:
>>> Hi all,
>>> I would like deleting specific characters from a string.
>>> As an example, I would like to delete all of the '@' '&' in the
>>> string 'You are ben at orange?enter&your&code' so that it becomes
>>> So far I have been doing it like:
>>> str = 'You are ben at orange?enter&your&code'
>>> str = ''.join([ c for c in str if c not in ('@', '&')])
>>> but that looks so ugly.. I am hoping to see nicer examples to acheive
>>> the above..
>> What about the following:
>> str = 'You are ben at orange?enter&your&code'
>> str = filter(lambda c: c not in "@&", str)
>> Walter Dörwald
> def isAcceptableChar(character):
> return charachter in "@&"
> str = filter(isAcceptableChar, str)
> is going to finally be what I am going to use.
> I not feel lambdas are so readable, unless one has serious experience in
> using them and python in general. I feel it is acceptable to add a named
> method that documents with its name what it is doing there.
You're not the only one with this feeling. Compare "the eff-bot's
favourite lambda refactoring rule":
More information about the Python-list