📜  从字符串python中提取浮点数(1)

📅  最后修改于: 2023-12-03 15:06:34.965000             🧑  作者: Mango

从字符串python中提取浮点数

在Python中,使用正则表达式可以提取字符串中的浮点数。正则表达式是一种模式匹配工具,用于在字符串中查找特定模式的文本。

方法一:使用re模块提取

使用re模块中的findall()函数可以找到所有符合正则表达式的子串,并以列表形式返回。

import re

str1 = "The price is $12.34"
str2 = "The price is $56.78"

pattern = r'\d+\.\d+'  # 匹配浮点数的正则表达式

result1 = re.findall(pattern, str1)
result2 = re.findall(pattern, str2)

print(result1)  # ['12.34']
print(result2)  # ['56.78']
方法二:使用正则表达式直接替换字符串

除了使用findall()函数外,还可以使用sub()函数进行替换操作。

import re

str1 = "The price is $12.34"
str2 = "The price is $56.78"

pattern = r'[$]'  # 匹配$符号的正则表达式

result1 = re.sub(pattern, '', str1)  # 去掉$符号
result2 = re.sub(pattern, '', str2)

print(result1)  # 'The price is 12.34'
print(result2)  # 'The price is 56.78'
方法三:使用float()转换

如果字符串中只包含一个浮点数,也可以直接使用float()函数将其转换为浮点数类型。

str1 = "12.34"
str2 = "56.78"

result1 = float(str1)
result2 = float(str2)

print(result1)  # 12.34
print(result2)  # 56.78

无论使用哪种方法,都要确保正则表达式的正确性,避免提取到错误的结果。

Markdown代码片段:

# 从字符串python中提取浮点数

在Python中,使用正则表达式可以提取字符串中的浮点数。正则表达式是一种模式匹配工具,用于在字符串中查找特定模式的文本。

## 方法一:使用re模块提取

使用re模块中的findall()函数可以找到所有符合正则表达式的子串,并以列表形式返回。

```python
import re

str1 = "The price is $12.34"
str2 = "The price is $56.78"

pattern = r'\d+\.\d+'  # 匹配浮点数的正则表达式

result1 = re.findall(pattern, str1)
result2 = re.findall(pattern, str2)

print(result1)  # ['12.34']
print(result2)  # ['56.78']
方法二:使用正则表达式直接替换字符串

除了使用findall()函数外,还可以使用sub()函数进行替换操作。

import re

str1 = "The price is $12.34"
str2 = "The price is $56.78"

pattern = r'[$]'  # 匹配$符号的正则表达式

result1 = re.sub(pattern, '', str1)  # 去掉$符号
result2 = re.sub(pattern, '', str2)

print(result1)  # 'The price is 12.34'
print(result2)  # 'The price is 56.78'
方法三:使用float()转换

如果字符串中只包含一个浮点数,也可以直接使用float()函数将其转换为浮点数类型。

str1 = "12.34"
str2 = "56.78"

result1 = float(str1)
result2 = float(str2)

print(result1)  # 12.34
print(result2)  # 56.78

无论使用哪种方法,都要确保正则表达式的正确性,避免提取到错误的结果。