📜  python从字符串re中提取所有数字 - Python(1)

📅  最后修改于: 2023-12-03 14:46:42.408000             🧑  作者: Mango

用Python从字符串re中提取所有数字

使用正则表达式(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']

可以看到,我们成功地从字符串中提取出了所有数字,并以列表的形式返回。可以在需要处理数字数据的程序中使用该函数,例如计算数据的平均值、方差等。