在python中获取字符串的所有10位数和9位数

2024-09-24 12:29:45 发布

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

我是python的新手,所以我只想从一个字符串中得到所有的10位数字和9位数字。 我有一根这样的绳子

Re: ehi - ECQ TANGAL INIP NA!!!! 67778877 NO LOAD 34567890123!!!! 5678901234 123456789

应仅返回9位和10位数字。数字可以出现在字符串中的任何位置。 在上面的字符串中,它应该返回这些数字

5678901234 
123456789

但不是

67778877 as it is 8 digit number 
34567890123 as it is 11 digit number


Tags: 字符串renumberisasit数字na
1条回答
网友
1楼 · 发布于 2024-09-24 12:29:45

可以使用正则表达式查找所有必需的匹配项:

import re

data = 'Re: ehi - ECQ TANGAL INIP NA!!!! 67778877 NO LOAD 34567890123!!!! 5678901234 123456789'
values = re.findall(r'\b\d{9,10}\b', data)
print( values )  # ['5678901234', '123456789']

这里\b表示数值组\d的边界(与[0-9]相同){9,10}\d的重复次数

文档:https://docs.python.org/3/library/re.html

相关问题 更多 >