js正则大于0小于100_Excel Power Query 调用javascript使用正则表达式

本文介绍如何在Power Query中利用Web.Page函数调用JavaScript的正则表达式进行数据清洗。虽然Power Query本身不支持正则,但通过这个方法,可以实现对数字0到100的提取。文章展示了从创建自定义函数到替换操作的完整过程。
摘要由CSDN通过智能技术生成

3599be8eb637436266b18006fa97bb86.png

使用正则表达式,本身power query里是没有正则的,但借助一些方法,可以实现。
今天利用个简单的数据清洗案例分享下power query里怎样调用javascript语言使用正则表达式,

6bb78ae54219763fb14e113e53e48235.png

直接用M写也可以,但这里用正则比较简单一点,先看看纯M的套路

b5b89cfb6383ecdb9777e2d6561db30a.png

下面是使用正则的套套路

13fc6e6b11dcb9219e3dcb92835d2c18.png

接下来分享下,怎样通过调用javascript来使用正则,M里有一个函数Web.Page,专门用于解析网址的,可以利用他解析js里的内容,如下

b71fe542960ab90dca3d29cd5614891e.png

Data里有一个Table,深化一下,发现还有Table一直深化

5ae03239a0313e1c471b33d3f3ebbf8e.png

然后我们发现这步深化是个固定模式 [Data]{0}[Children]{0}[Children]{1}[Text]{0}

f6d9b0a4d39634bf10ab7ebe5f5a027a.png

接着就可以测试下写正则了

5778fa33e15d197b46272491154f0454.png

以上了解后就可以正式开始今天的练习,为了方便使用一般情况下大叔会把这部分定义成一个自定义的函数

fx = (s,r)=>Web.Page("<script>document.write( '"&s&"'.match(/"&r&"/gi) )</script>")[Data]{0}[Children]{0}[Children]{1}[Text]{0}

首先把所有数据合并为一条文本

4e773ee0daf5812cf0b7db4bca600404.png

接着观察,我们发现要提取的内容就是对应项目后面的数字

1e19cbc7d7c4043711c65f651acd79b2.png

很可惜的是pq里的正则不支持正向的零宽的,所以想一步到位全部提取数字还是有点麻烦,不过没关系,只要对应的字符串提取到,后面处理也很方便的。

c1267999c898b69f3aae8ab960fc677c.png

接着把项目,替换成+号,当然可以再用正则replace一次,这里大叔就直接用没pq里的方法操作

46e5df0a668e650a27134ab11f5c51ec.png

最后套上eva

012a5cae54e6f2aa4af9a5e91a3017de.png

分享结束,感谢观看,Thanks!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值