求解:利用正则表达式提取数据

'#Hi:-21,Lo:-80#3.2,-13.25|3.203,-13.37|3.206,-13.50|3.209,-13.62|3.212,-13.74|3.215,-13.86|3.218,-13.99|'
将两个#号之间的数据放入一个数组
|前的数据放入另一个数组

正则分割下就行

img

s='#Hi:-21,Lo:-80#3.2,-13.25|3.203,-13.37|3.206,-13.50|3.209,-13.62|3.212,-13.74|3.215,-13.86|3.218,-13.99|';arr=s.split(/[#\|]/).filter(i=>i);

img

我觉得这个应该是先写函数分割| 然后存入数组吧,跟获取路径的文件类似

/#[#]/g

img

/[|]?([^#^|]+)[|]/g

img

用python解的话,可这样:

import re
s='#Hi:-21,Lo:-80#3.2,-13.25|3.203,-13.37|3.206,-13.50|3.209,-13.62|3.212,-13.74|3.215,-13.86|3.218,-13.99|'
res=re.findall('#(.*)#(.*)',s)
arr1=[res[0][0]]
arr2=[x for x in res[0][1].strip().split('|') if x!='']
print(arr1)
print(arr2)

结果:

['Hi:-21,Lo:-80']
['3.2,-13.25', '3.203,-13.37', '3.206,-13.50', '3.209,-13.62', '3.212,-13.74', '3.215,-13.86', '3.218,-13.99']

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632