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.45元,数量为6个,总计740.7元。"
result = extract_numbers_from_string(input_string)
print(result) # 输出: [123.45, 6, 740.7]
re
模块来处理正则表达式。extract_numbers_from_string
函数接收一个字符串作为输入。re.findall
方法和正则表达式 \d+\.?\d*
查找所有数字。这个正则表达式的含义是:\d+
匹配一个或多个数字。\.?
匹配可选的小数点。\d*
匹配零个或多个数字(用于处理小数部分)。希望这段代码和解释对你有帮助!
上一篇:python etl
下一篇:python list拼接
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站