我有以下字符串:['', '+VZWRSRP: 64,6300,-101.70', '', 'OK', '']
我尝试将第二个逗号后面的所有内容放入变量PCI,将第三个逗号后的所有内容变为变量earfcn,将第四个逗号后的所有内容放入变量RSRP。
首先,我想用RSRP和以下的regex命令测试它:
cellinfo = ['', '+VZWRSRP: 64,6300,-101.70', '', 'OK', '']
rsrp = re.search('-(.+?)\'', cellinfo)
但不知怎的,我无法让它发挥作用。
实现这一目标的好方法是什么?
答案 0 :(得分:0)
我错过了为micropython指定的问题,我没有使用过,这个答案适用于普通的python
import re
input_string = ", '+VZWRSRP: 64,6300,-101.70', '', 'OK', "
m = re.search(',.*?:(.*?),(.*?),(.*?),.*?,', input_string)
PCL = m.group(1)
earfcn = m.group(2)
RSRP = m.group(3)
返回:
如果您希望输出仅包含可以转换为整数或浮点值的值:
part = ".*?(-*\d+\.*\d*).*?"
m = re.search(',.*?:{},{},{},.*?,'.format(part,part,part), input_string)
会做的伎俩。
如果你的字符串是'+ VZWRSRP:64,6300,-101.70',请使用
part = ".*?(-*\d+\.*\d*).*?"
m = re.search('.*?:{},{},{}'.format(part,part,part), input_string)