python3.7中如何提取字符串中的多个数值

A0.378B166.5C37D59E6.541
A0.378C37E6.541

需要分别提取A、B、C、D、E后面的数值赋值给AA、BB、CC、DD、EE五个变量,字符串中也可能会出现A、B、C、D、E没有的情况,感谢童鞋们!

直接查找替换,然后拼成字典,处理就很简单了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-07
你好,你可以考虑使用切分的办法,
inputStr=“A0.34B1234C0.2342D0.244”
result=re.split(([A-Za-z]),inputStr)
print(result)追问

如果字符串中出现A、B、C、D、E没有的情况,这样的话光是切分好像行不通啊

追答

如果没有A,B,C,D,E的话,你的输入是下面这个样的。0.378166.537596.540.378376.541
这样就是人看都不知道那个是那个呀。我理解你的数据之间是有一个字符来分开的。
import re
inputStr="A0.34B1234C0.2342D0.244"
result=re.split(r"([A-Za-z])",inputStr)
print(result)
下面是切分的结果:
['', 'A', '0.34', 'B', '1234', 'C', '0.2342', 'D', '0.244']

相似回答