赛龙周 发表于 2023-12-5 19:10:24

自定义函数-正则表达式函数

本帖最后由 赛龙周 于 2024-1-21 16:36 编辑

近日逛论坛看到有很多格友针对字符串处理有不少需求,例如

把手机号中间隐藏显示:138****1280,空格分隔138 1280 1280
从不规则的文本中提取数字:VL8989-123,GNNM123等;

其中大部分需求可以通过Excel的函数组合可以解决,但感觉略显繁琐。
自己也通过学习了解到,正则表达式在字符处理上功能非常强大,但活字格前端能发挥正则表达式威力的地方恐怕就是JAVASCRIPT命令了。

要是有个正则表达式EXCEL函数可以方便多了,网上搜索说excel有,但我在offcie365中并没有找到,反而spreadjs中有三个正则函数。
貌似活字格都不能直接用,于是就用三脚猫的JS水平,照猫画虎的写了个自定义函数:REGEXFN(),语法如下:

REGEXFN(str,pattern,flags,type,)
str:(必选)待处理文本
pattern:(必选)正则表达式
flags:(必选)标志参数
type:(必选)固定文本分别是:"test","exec","replace","search","match","split"
replacement:(可选)当type是"replace"时的替换字符

做了几个demo供大家参考:
1.数据验证
2.字符替换
3.字符提取
活字格中可以用公式的地方都可以用,功能还是挺强的。唯一缺点是要会写正则表达式,不过好在网上有很多现成的或者是正则生成器。

附上工程文件,收点金币,感兴趣的下来看看。欢迎批评指正。


KinShing 发表于 2023-12-6 23:26:04

:hjyzw::hjyzw:

KinShing 发表于 2024-8-19 01:51:04

表格字段值不能取

赛龙周 发表于 2024-8-19 06:54:07

KinShing 发表于 2024-8-19 01:51
表格字段值不能取

我的可以啊

KinShing 发表于 2024-8-19 22:53:58

赛龙周 发表于 2024-8-19 06:54
我的可以啊

能否指教一下:mj72: 我用10.050
页: [1]
查看完整版本: 自定义函数-正则表达式函数