我想找到"海拔"在一个文件中并将字符串更改为float,例如,我使用正则表达式来查找" 13,804英尺"并希望更改为[13804.0,"脚"],如果有海平面',则应更改为[0.0,""] 。我写了以下函数,它适用于" 13,804英尺"情况,但它不适用于"海平面"
import locale
def elevationToFloat(x):
elevation = []
reNum = re.compile(r"""(?P<number>[-,0-9]+)\s+(?P<suffix>[a-zA-Z]+)?""")
new = reNum.findall(x)
for i in new:
temp = i[0].replace(",", "")
elevation.append(float(temp))
elevation.append(i[1])
return elevation
print elevationToFloat("-70,222 feet") (it gives me [-70222.0, 'feet'])
print elevationToFloat("Sea level") (does not work)
实际上我已经尝试了很长一段时间来处理海平面情况(这太糟了,所以我觉得我不会发错代码),但它不起作用。任何人都可以帮我改进我的代码