Python如何去掉数字后的单位

Python如何去掉数字后的单位

作者:William Gu发布时间:2026-01-13阅读时长:0 分钟阅读次数:30

用户关注问题

Q
怎样在Python中提取数字并删除后面的单位?

我有一段包含数字和单位的字符串,想用Python提取纯数字内容,该如何操作?

A

使用正则表达式提取数字

可以利用Python的re模块,通过正则表达式匹配数字部分。示例代码:

import re
s = '123kg'
number = re.findall(r'\d+\.?\d*', s)
if number:
    print(number[0])  # 输出 123

这样可以有效提取出数字,去除掉后面的单位。

Q
是否有方法可以将带单位的字符串转换成数值类型?

在处理数据时,有一列带单位的字符串,我想转换成浮点数或整数,该怎么做?

A

结合字符串处理与类型转换

首先提取数字部分,去除单位后,再使用int()或float()转换。例如:

s = '56.78kg'
num_str = ''.join(filter(lambda x: x.isdigit() or x == '.', s))
num = float(num_str)
print(num)  # 输出 56.78

这种方法适用于数字含小数点的情况。

Q
Python中有没有内置函数直接去除字符串中的单位?

是否有简便的方法或者库函数,能够直接将数字字符串中的单位部分移除?

A

没有专门的内置函数,推荐使用正则表达式

Python标准库没有直接去除单位的函数,建议使用re模块通过匹配数字来实现。这样既灵活又高效,可以处理多种单位格式。