[Python-ideas] Easily remove characters from a string.

Simon Mark Holland simonmarkholland at gmail.com
Sat Oct 22 04:34:23 EDT 2016


Having researched this as heavily as I am capable with limited experience,
I would like to suggest a Python 3 equivalent to string.translate() that
doesn't require a table as input.  Maybe in the form of str.stripall() or
str.replaceall().

My reasoning is that while it is currently possible to easily strip()
preceding and trailing characters, and even replace() individual characters
from a string, to replace more than one characters from anywhere within the
string requires (i believe) at its simplest a command like this :

some_string.translate(str.maketrans('','','0123456789'))

In Python 2.* however we could say ...

some_string.translate(None, '0123456789')

My proposal is that if strip() and replace() are important enough to
receive modules, then the arguably more common operation (in terms of
programming tutorials, if not mainstream development) of just removing all
instances of specified numbers, punctuation, or even letters etc from a
list of characters should also.

I wholeheartedly admit that there are MANY other ways to do this (including
RegEx and List Comprehensions), as listed in the StackOverflow answer
below.   However the same could be said for replace() and strip().
http://stackoverflow.com/questions/22187233/how-to-delete-all-instances-of-a-character-in-a-string-in-python

This is my first suggestion and welcome any and all feedback, even if this
is a silly idea I would really like to know why it is.  I have not seen
discussion of this before, but if there is such a discussion I would
welcome being directed to it.

Thank you for your time.
Simon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20161022/f34a5e02/attachment-0001.html>


More information about the Python-ideas mailing list