# 示例代码:从字符串中提取数字
import re
def extract_numbers_from_string(input_string):
# 使用正则表达式查找所有数字(包括整数和小数)
numbers = re.findall(r'-?\d+\.?\d*', input_string)
# 将找到的字符串形式的数字转换为浮点数或整数
numbers = [float(num) if '.' in num else int(num) for num in numbers]
return numbers
# 示例用法
input_string = "价格是 123.5 元,折扣后是 99 元。"
numbers = extract_numbers_from_string(input_string)
print(numbers) # 输出: [123.5, 99]
# 解释说明:
# 1. 使用 re.findall 函数结合正则表达式 '-?\d+\.?\d*' 查找字符串中的所有数字。
# - '\d' 匹配任何十进制数字。
# - '+' 表示前面的字符出现一次或多次。
# - '?' 表示前面的字符出现零次或一次,用于匹配可选的小数点前的负号。
# - '\.' 匹配小数点。
# - '*' 表示前面的字符出现零次或多次,用于匹配小数部分。
# 2. 使用列表推导式将找到的字符串形式的数字转换为浮点数或整数。
# 3. 返回提取出的数字列表。
下一篇:python自动化库
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站