3

您好,我在编程和 python 方面相当新,我有一个问题。

我将如何从字符串中打印或仅返回数字

例如:

"Hu765adjH665Sdjda"

输出:

"765665"
4

4 回答 4

3

您可以使用re.sub删除任何不是数字的字符。

import re

string = "Hu765adjH665Sdjda"
string = re.sub('[^0-9]', '', string)
print string
#'765665'

re.sub从左到右扫描字符串。每次它找到一个不是数字的字符时,它都会将其替换为空字符串(这与出于所有实际目的删除它相同)。

于 2013-10-20T23:25:18.570 回答
2
>>> s = "Hu765adjH665Sdjda"
>>> ''.join(c for c in s if c in '0123456789')
'765665'
于 2013-10-20T23:25:58.690 回答
0

尝试过滤

>>> str='1qaz2wsx3edc4rfv5tgb6yhn7ujm8ik9ol'
>>> print str
1qaz2wsx3edc4rfv5tgb6yhn7ujm8ik9ol
>>> filter(lambda x:x>='0' and x<='9', str)
'123456789'
于 2013-10-20T23:19:51.783 回答
0
sentence = "Hu765adjH665Sdjda"

for number in sentence:
    if number in "0123456789":
        print(number)
于 2019-10-28T09:12:09.097 回答