欢迎访问宙启技术站
智能推送

findall函数来获取字符串中所有数字

发布时间:2023-06-16 12:22:08

Python的re模块中的findall()函数可以用于提取字符串中的所有数字。

findall()函数接受两个参数:正则表达式和字符串。

正则表达式用于匹配字符串中的模式,例如匹配数字可以用\d。在正则表达式中,可以使用圆括号来标记想要提取的内容。例如,在匹配字符串中所有数字的情况下,可以使用(\d+)来标记数字。

示例代码如下:

import re

text = "The price of the product is $50.89 and the delivery fee is $5.75. The total cost is $56.64."
numbers = re.findall(r'\d+\.\d{2}', text)
print(numbers)

输出结果为:

['50.89', '5.75', '56.64']

在上面的代码中,正则表达式\d+\.\d{2}匹配两位小数的数字,因为价格通常有两位小数。使用re.findall()函数从字符串中提取匹配的数字,并将它们存储在一个列表中。

除了提取具有特定格式的文本的数字,findall()函数也可以用于提取文本中的所有数字,例如:

import re

text = "Every year, Apple sells millions of iPhones. In 2020, Apple sold 195.2 million iPhones."
numbers = re.findall(r'\d+', text)
print(numbers)

输出结果为:

['195', '2', '000']

在上面的代码中,使用\d+匹配任意长度的数字,因此可以提取所有数字。请注意,在匹配整个数字字符串时,小数点被忽略。

总之,findall()函数提供一种简单的方法来查找文本中的数字,并将它们提取到一个列表中。这是一种有用的技术,可以在处理文本数据时经常使用。