栏目分类
Enegra (EGX)中文网
你的位置:ZEON中文网 > Enegra (EGX)中文网 >利用 3 个新增的 Excel 正则函数进行文本插入、文本拆分
发布日期:2025-01-10 11:51 点击次数:112
原文标题:《这 3 个新增的 Excel 正则函数,太牛 X 了!》大家好,我是会 Excel 数据处理的小爽~之前我们讲过 WPS 新增的、一个非常强大的文本处理函数 —— Regex 函数。它既可以做文本判断,也可以做文本提取,甚至可以做文本替换。Regex 函数其实就是下面三个正则函数的集合版本。分别是 :文本判断:Regextest文本提取:Regexextract文本替换:Regexreplace如今,Office 365 中的 Excel,也更新这三个正则函数了,WPS 和 Excel 的正则函数语法差不多,大家可以对照着学习。鉴于有小伙伴想看看进阶一点的正则函数。今天,小爽就继续来聊聊正则函数。我们在日常工作中,除了需要对文本进行判断,提取,替换外,还可能需要对文本进行插入,拆分等操作。大家跟我一起往下看,进一步认识其他的正则表达式。正则表达式是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。正则表达式可以在文本中查找、替换、提取和验证特定的模式。PS.本文使用 Excel 里面的正则函数进行演示。1、文本插入如下图,我们需要在中文和英文 / 数字中,插入一个分隔符「-」,以便更好地查看信息。传统的做法是:利用字节数确定文本的位置,然后进行替换。=REPLACE(A2,LENB(A2)-LEN(A2)+1,0"-")这种做法也可以,但是如果单元格开头不是文本,公式就会出错!!所以,最好的方法就是利用强大的正则函数!如下图:=REGEXREPLACE(A2"(*[一-龟])(\w+)""$1-$2")我们来看看这个公式:=REGEXREPLACE(A2"(*[一-龟])(\w+)""$1-$2")Regexreplace 语法:=REGEXREPLACE (字符串,正则表达式,替换表达式,[指定替换实例],[是否区分大小写])字符串:A2 单元格正则表达式:"(.*[一-龟])(\w+)"替换表达式:"$1-$2"假设字符串为 "excel 小爽 xiaoshuang"。(.*[一-龟]):第一分组.* 除换行符之外的任意字符,* 代表 0 到多个[一-龟]:后面紧接着一个中文字符第一组匹配到的字符为 excel 小爽。(\w+):第二分组:\w:在正则表达式中,它表示字母数字字符,包括所有字母(a-z、A-Z)和数字(0-9)的字符。它等同于 "[A-Za-z0-9_]"\w+ 也就是代表一个到多个第二组匹配到的字符为 xiaoshuang。替换表达式:"$1-$2"$1 代表第一分组的内容,也就是 "excel 小爽"$2 代表第二分组的内容,也就是 "xiaoshuang""$1-$2",也就是 "Excel 小爽-xiaoshuang"。拆分函数 Textsplit 目前还不能进行正则语法拆分,不过我们可以借助正则函数 Regexextract!2、文本拆分如下图所示:我想提取出日期之间的姓名。用 Textsplit 函数来做,需要先把数字和分隔符进行数组拼接后,再进行拆分。=TEXTSPLIT(A2,VSTACK(SEQUENCE(10,1,0)"-")1)如果用正则函数来做,不需要像拆分函数那样进行拼接,只要把需要拆分的字符,放在中括号中取反即可。=REGEXEXTRACT(A2"[^0-9-]+"1)Regexextract 语法:=REGEXEXTRACT (字符串,正则表达式,[匹配方式])匹配方式中:0 - 第一个匹配项 (默认值)1 - 所有匹配项2 - 捕获第一个匹配项的组第三参数为 1,因为我们是要匹配所有的匹配项。=REGEXEXTRACT(A2,"[^0-9-]+",1)重点看第二参数:正则表达式"[^0-9-]+"[] 中括号:用于指定一个字符集合或区间,可以让正则表达式匹配特定的字符或范围。^ 号:在字符集合开头表示取反,即匹配除字符集合以外的其他字符。- 号:在字符集合中间表示范围,但是如果它在开头或结尾,则只表示普通字符-该表达式的意思是:取除了 0 到 9 和-之外的字符,取一个或者多个,尽可能多的匹配。只匹配数字和-之外的字符,是不是相当于按照数字和-,进行拆分了呢~3、最后的话今天我们再一次学到新的正则表达式:在 Regexreplace 函数中:正则表达式,() 代表分组,有几个括号就代表几个分组替换表达式,$n 代表第几个分组我们可以利用分组灵活的插入字符串\w 代表,数字字母下划线 [0-9a-zA-Z_]\W 就是,非数字字母下划线 [^0-9a-zA-Z_]拆分中,我们可以通过中括号取反的方式进而实现正则拆分:[] 代表字符集,中括号中开头 ^ 代表取反 [^..]那大家也不难想到:\d 取反是 \D,也就是 [^\d] 和 \D 是一样的。好了,本文就到这里结束啦~看到这里,小伙伴是不是觉得,正则也就是这么一回事呢~后面文章我们会接着继续聊聊更深的正则语法。本文来自微信公众号:秋叶 Excel (ID:excel100),作者:小爽广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。
相关资讯
- 2025/01/12FEG 过渡到币安智能链 (BSC)
- 2025/01/10利用 3 个新增的 Excel 正则函数进行文本插入、文本拆分
- 2025/01/06MOLI万站,正式上线
- 2025/01/04vue导出word纯前端的实现方式
- 2025/01/04整体、高端份额双增! 海尔冰箱2023高质量引领