本帖最后由 赛龙周 于 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,[replacement])
str:(必选)待处理文本
pattern:(必选)正则表达式
flags:(必选)标志参数
type:(必选)固定文本分别是:"test","exec","replace","search","match","split"
replacement:(可选)当type是"replace"时的替换字符
做了几个demo供大家参考:
1.数据验证
2.字符替换
3.字符提取
活字格中可以用公式的地方都可以用,功能还是挺强的。唯一缺点是要会写正则表达式,不过好在网上有很多现成的或者是正则生成器。
附上工程文件,收点金币,感兴趣的下来看看。欢迎批评指正。
|
|