python 含有非数字的字符串转数字

2023-03-06 00:00:00 字符串 含有 转数

如果一个字符串中含有非数字字符,你可以使用Python的re模块(正则表达式模块)来提取其中的数字,并将其转换为数字类型。具体步骤如下:

导入re模块:import re

使用正则表达式提取字符串中的数字,例如:

num_str = "123abc"
num_list = re.findall(r'\d+', num_str)  # 匹配连续的数字字符
print(num_list)  # 输出 ['123']

将提取出来的数字转换为数字类型,例如:

num_int = int(num_list[0])  # 转换为整数类型
print(num_int)  # 输出 123

如果字符串中包含小数点和负号等字符,你需要根据具体情况修改正则表达式。例如,如果你想提取字符串中的浮点数,可以使用以下正则表达式:

float_str = "-3.14abc"
float_list = re.findall(r'-?\d+\.\d+', float_str)  # 匹配带有小数点的数字,可以包含负号
print(float_list)  # 输出 ['-3.14']

然后你可以将提取出来的浮点数转换为浮点数类型,例如:

float_num = float(float_list[0])  # 转换为浮点数类型
print(float_num)  # 输出 -3.14

注意,在使用正则表达式时,需要注意正则表达式的具体语法和匹配规则,以确保正确提取所需的内容。

相关文章