在Python中反转str.translate

时间:2014-08-26 21:29:14

标签: python string python-2.7

如果我想删除“He123llo Wor456ld”中的数字!翻译,我可以

from string import digits str = "He123llo Wor456ld!" str = str.translate(None, digits) print str

>> Hello World!

如何通过翻译获得123456来反转这一点?

3 个答案:

答案 0 :(得分:2)

你可以使用这样的东西

from string import digits
s = "He123llo Wor456ld!" 
s_ = s.translate(None, digits)
s = s.translate(None, s_)
print s

>>> 123456

答案 1 :(得分:1)

from string import letters, punctuation, whitespace
str = "He123llo Wor456ld!"
str = str.translate(None, letters + punctuation + whitespace)
print str

>> 123456

仍然觉得'滥用'这样翻译很奇怪,但唉......它 工作。

答案 2 :(得分:0)

这是一种肮脏的方式,但有效!

your_string = "He123llo Wor456ld!"
s=""
for digit in your_string:
    try:
        int(digit)
        s+=digit
    except:
        pass

print s

输出:

>>> 123456