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