删除字符串中的所有内容。。只在i中留下数字

2024-04-24 09:52:10 发布

您现在位置:Python中文网/ 问答频道 /正文

字符串可能是:

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

我想删除它的一切,但只留下数字。你知道吗


Tags: 字符串数字s29487jaidk392
3条回答

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

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

有一种方法不用任何图书馆就可以做到。您可以使用内置函数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

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

>>> import re
>>> yourString = "JAIDK392**8'^+%&7JDJ0204İŞÇéS29487"
>>> numberOnlyString = re.sub('[^0-9]', '', yourString)
>>> print numberOnlyString
'39287020429487'

相关问题 更多 >