📅  最后修改于: 2023-12-03 15:06:34.965000             🧑  作者: Mango
在Python中,使用正则表达式可以提取字符串中的浮点数。正则表达式是一种模式匹配工具,用于在字符串中查找特定模式的文本。
使用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()函数将其转换为浮点数类型。
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()函数将其转换为浮点数类型。
str1 = "12.34"
str2 = "56.78"
result1 = float(str1)
result2 = float(str2)
print(result1) # 12.34
print(result2) # 56.78
无论使用哪种方法,都要确保正则表达式的正确性,避免提取到错误的结果。