其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

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

GG网络技术分享 2025-03-18 16:15 1


问题描述:

'#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|'
将两个#号之间的数据放入一个数组
|前的数据放入另一个数组

网友观点:

正则分割下就行

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);

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

/#[#]/g

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

用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

Excel利用正则表达式从数据中提取出有2位小数的

如下图所示,小编只想把黄色的2位小数给保留,其它的全部删除,如果做到呢,请看下图小编的正则表达式操作方法

(方方格子插件)



1.选择复制数据一份出来



2.然后选择方方格子按钮



3.选择高级文本处理中的正则表达式按钮



4.选择提取按钮



5."输入正则表达式输入正则表达式^[0-9]+(.[0-9]{2})?$



解释:^表示以什么开始,$表示以什么结束,[0-9]表示0-9的任意数字,{2}重复2次,?出现0次或1次。所以整体表达就是:整数为0-9的任意数字,小数为2位出现1次的0-9的数字"

6.确定后即可看到结果



如果经验帮到了你,请记得分享!

标签:

提交需求或反馈

Demand feedback