字符串可能是:
JAIDK392**8'^+%&7JDJ0204İŞÇéS29487
我想从中删除所有内容,但只留下数字。
答案 0 :(得分:6)
执行此操作的一种简单方法是使用正则表达式库re
:
>>> import re
>>> yourString = "JAIDK392**8'^+%&7JDJ0204İŞÇéS29487"
>>> numberOnlyString = re.sub('[^0-9]', '', yourString)
>>> print numberOnlyString
'39287020429487'
答案 1 :(得分:1)
有一种方法可以在不使用任何库的情况下完成。您可以使用内置函数ord来获取字符的ASCII代码。然后你可以解析字符串中的每个字符以检查它是否是一个数字(如果它的ASCII码应该在47到58之间。
str = "JAIDK392**8'^+%&7JDJ0204İŞÇéS29487" output = [] for char in str: if 47 < ord(char) < 58: output.append(char) result=''.join(output) print result
答案 2 :(得分:0)
正则表达式很棒,但另一种方法是:
>>> import string
>>> digits_only = "".join(_ for _ in your_string if _ in string.digits)