如果想把字符串里提取出数字该怎么办呢?
1.首先是简单的数字,整数,整起!上十斤巴豆:
import re
# 有数字和单位的例子
text = "我花了10元买了巴豆,买太多累死了,结果减重1.2%。"
# 提取其中的数字
numbers = re.findall(r'\d+', text)
numbers = [int(num) for num in numbers]
# 打印其中的数字
print(numbers)
得到了:
[10, 1, 2]
2.希望能把小数也整理出来,浮起!上十斤巴豆:
import re
# 有数字和单位的例子
text = "我花了10元买了巴豆,买太多累死了,结果减重1.2%。"
# 提取其中的数字,并指定数据类型
numbers = re.findall(r'\d+\.?\d*', text)
numbers = [float(num) if '.' in num else int(num) for num in numbers]
# 打印其中的数字
print(numbers)
得到了:
[10, 1.2]
3.最终,膨胀了,需要连单位一起导出,继续上十斤巴豆:
import re
# 有数字和单位的例子
text = "我花了10元买了巴豆,买太多累死了,结果减重1.2%。"
# 提取其中的数字和单位
numbers = re.findall(r'(\d+\.?\d*)(\D)', text)
# 打印其中的数字和单位
print(numbers)
得到了:
[('10', '元'), ('1.2', '%')]
最后我把巴豆种在了地里,明年可能有喷泉出来吧……
1315

被折叠的 条评论
为什么被折叠?



