gpt4 book ai didi

python - 从字符串中提取温度度数(摄氏度或华氏度)

转载 作者:行者123 更新时间:2023-11-28 21:43:20 26 4
gpt4 key购买 nike

我正在使用 (char.*?char2)为了提取以 char1 开头的子部分以 char2 结尾来自一个字符串。

现在我想提取温度信息,例如(40 °C, -30°C, 80°F) 来自一根绳子。在这种情况下,我的正则表达式应该通过考虑 + 的概率来定义任何数字字符的起始字符。和 - ,并以 °C 结尾或 °F , 中间不能有任何字母,也应该取whitespace数字和结尾之间的字符。

如何定义这样的正则表达式?

我已经检查过了,Regex to extract temperatures and temperature ranges from a string ,但答案的目标略有不同。

最佳答案

(\d+) ?°([CF])

第一组应该是温度,第二组应该是 C 或 F。

扩展它以允许更多变化:

([+-]?\d+(\.\d+)*)\s?°([CcFf])

这将匹配 any of these输入,允许多个空格或制表符、小写单位、小数点和符号。

示例 python 程序:

import re
string = '''
20°C
2 °F
It was cold, 2 °F in fact.
30 °C
-40 °C
+2.3^I°c
+2.3°c
10°C
'''
pattern = r'([+-]?\d+(\.\d+)*)\s?°([CcFf])'
print(re.findall(pattern, string))
# Output:
# [('20', '', 'C'), ('2', '', 'F'), ('2', '', 'F'), ('30', '', 'C'),
# ('-40', '', 'C'), ('+2.3', '.3', 'c'), ('+2.3', '.3', 'c'),
# ('10', '', 'C')]

关于python - 从字符串中提取温度度数(摄氏度或华氏度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42369010/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com