办公软件 > WPS > WPS

WPS 新函数 REGEXP 功能介绍

327人参与 2024-05-26 WPS

本文作者:卫星酱

本文编辑:竺兰

锵锵~ 大家好哇!我是没事儿就整点函数分享的卫星酱~

今天卫某要介绍一个超级好用的 wps 新函数 ——regexp

大家会从文本中提取数值吗?

像这样的内容:

虽然用的公式比较长:

=right(left(c3,len(c3)-1)len(left(c3,len(c3)-1))*2-lenb(left(c3,len(c3)-1)))

但本质上是先去除单位:

再提取:

比较容易理解;

何况还有【ctrl+e】这个大杀器(excel 2013、wps 12.7 及两者以上版本均可使用),直接帮我们搞定:

但要是碰上这种数据 ↓↓↓

打工人很可能只会上演一场笑容消失术……

但只要请出咱们今天的正主 ——wps 新函数 regexp,问题就迎刃而解了!

1、函数介绍

regexp,是 wps office 中的一个文本处理函数(wps 16894 版本中才有,目前在内测阶段)。

它还有许多的子函数,比如:

regexpextract:提取匹配正则表达式的子字符串。

regexpmatch:判断文本是否匹配正则表达式。

regexpreplace:替换匹配正则表达式的文本。

如果有同学对此感兴趣,可以在评论区中留言,说不定下一次就介绍它们啦~

这里我们还是回归正题 ——

regexp 函数允许用户利用正则表达式来匹配、提取、替换或处理文本数据

比如,「\d+」就是一个正则表达式,它表示一个或多个数字字符的序列。

如果用「\d+」去匹配文本,它会匹配文本中所有连续的数字。

这就是为什么咱们今天的数据万分需要它:

2、案例实操

只需要输入一个短到不可思议的公式:

=regexp(b3"\d+")

就能搞定文本内提取多项数值的复杂问题!

3、excel 做法

可惜的是,excel 中并没有这个好用的函数

但要实现类似的功能,也不是没有办法~

按【alt + f11】打开 vba 编辑器,右击 vbaproject,选择【插入】- 【模块】。

添加以下代码:

function regexpmatch(pattern as string, text as string) as string
       dim regex as object       
       set regex = createobject("vbscript.regexp")

        regex.global = true       
        regex.multiline = true       
        regex.ignorecase = false

        regex.pattern = pattern       
        dim matches as object       
        set matches = regex.execute(text)

        dim results as string       
        results = ""

        if not matches is nothing and matches.count > 0 then            
        dim i as integer            
        for i = 0 to matches.count - 1            
              if matches.item(i).value <> "" then               
                      results = results & matches.item(i).value & ", "                  
                      end if            
                      next i            
                      ' 移除最后一个多余的逗号和空格            
                      if right(results, 2) = ", " then             
                           results = left(results, len(results) - 2)            
                           end if       
                        end if

                     regexpmatch = results
        end function

然后我们就能使用自定义函数 regexpmatch

4、写在最后

好了,今天给大家带来的是 wps 新函数 regexp,提取文本中所有连续数值的用法,还给出了 excel 中的替代选项哦~

当然,如果你紧跟潮流,善用 ai,那就更简单了~

只需把图片丢给 ai,并命令「提取其中所有数值,并以纯数字形式返回给我」,直接出结果!

不过,如果数据比较敏感,担心隐私泄露问题,还是用函数自己处理比较好~

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论