📅  最后修改于: 2023-12-03 14:46:42.408000             🧑  作者: Mango
使用正则表达式(re)可以方便地从字符串中提取特定的数据,例如数字。在本篇文章中,我们将通过Python编写一个函数,用于从字符串re中提取出所有数字。
import re
def extract_numbers(text):
"""提取字符串中所有数字"""
pattern = r'\d+'
return re.findall(pattern, text)
上述代码中,我们首先导入了Python的标准库 re
,之后定义了一个名为 extract_numbers
的函数。该函数的输入参数为一个字符串 text
,输出为一个列表,其中包含了所有数字。该函数的实现中使用了 re.findall
函数,该函数可以在一个字符串中查找所有匹配某个正则表达式(即 pattern
)的子串,并将其以列表的形式返回。
在 pattern
中,我们使用的是 \d+
这个正则表达式,它可以匹配任意一个或多个数字。因此,我们可以从一个字符串中提取出所有的数字,无论这些数字是连续的还是分散的,或者是否包含小数位。
我们可以通过以下代码对上述函数进行测试:
text = "I have 10 cats and 2 dogs. The temperature is -1.5 ℃."
print(extract_numbers(text))
运行结果为:
['10', '2', '1', '5']
可以看到,我们成功地从字符串中提取出了所有数字,并以列表的形式返回。可以在需要处理数字数据的程序中使用该函数,例如计算数据的平均值、方差等。