Python 从字符串中删除所有内容。。只留下数字

Python 从字符串中删除所有内容。。只留下数字,python,python-2.7,Python,Python 2.7,字符串可能是: JAIDK392**8'^+%&7JDJ0204İŞÇéS29487 我想删除其中的所有内容,但只留下数字。一个简单的方法是使用正则表达式库re: 正则表达式很好,但另一种方法是: >>> import string >>> digits_only = "".join(_ for _ in your_string if _ in string.digits) 有一种方法可以不使用任何库就完成。您可以使用内置函数ord获取字符的ASC

字符串可能是:

JAIDK392**8'^+%&7JDJ0204İŞÇéS29487

我想删除其中的所有内容,但只留下数字。

一个简单的方法是使用正则表达式库re:


正则表达式很好,但另一种方法是:

>>> import string
>>> digits_only = "".join(_ for _ in your_string if _ in string.digits)

有一种方法可以不使用任何库就完成。您可以使用内置函数ord获取字符的ASCII码。然后,您可以解析字符串中的每个字符,以检查它是否是数字,如果是数字,则其ASCII码应介于47和58之间

或者只使用filter:filterlambda m:m in string.digits,yourstring等效地,可以按如下方式使用filter:filterlambda x:47>>> import string >>> digits_only = "".join(_ for _ in your_string if _ in string.digits)
str = "JAIDK392**8'^+%&7JDJ0204İŞÇéS29487"
output = []
for char in str:
    if 47 < ord(char) < 58:
        output.append(char)
result=''.join(output)
print result