小伙伴们好啊,今天咱们一起学习REGEXP函数的几个基础用法。这个函数是WPS表格中的特有函数之一,能够根据正则表达式对字符串进行提取、判断或替换。函数语法如下:
=REGEXP(要处理的字符串,正则表达式,[匹配模式],[替换内容])
1、如下图,希望从A列混合内容中提取出电话和姓名
B2单元格输入以下公式,向下复制,提取出电话号码:
=REGEXP(A2,"[0-9]+")
公式中的 [0-9]+,表示连续数字。
2、C2单元格输入以下公式,向下复制,提取出姓名:
=TAKE(REGEXP(A2,"[一-龟]+"),,1)
公式中的 [一-龟]+,表示连续的中文。
先使用REGEXP函数提取出连续的中文,不连续的中文会被分组依次提取。最后使用TAKE函数在REGEXP的提取结果中截取第一列的内容。
3、如下图所示,希望提取出A列单元格中的费用总金额。
B2单元格公式输入以下公式,向下复制。
=SUM(1*REGEXP(A2,"[0-9.]+(?=元)"))
公式中的[0-9.]+ 表示包含小数点的连续数字,(?=元)表示字符“元”之前的内容。
4、如下图,希望从A列混合内容中,提取首个中文字符之前的全部内容。
B2单元格输入以下公式,向下复制。
=REGEXP(A2,"^[^一-龟]+")
公式中的第一个^表示字符开头。中括号中的^表示“非”,[^一-龟] 表示连续的非中文字符。
^[^一-龟]+,即表示字符开头部分的连续非中文字符。
5、如下图所示,需要判断A列混合内容的类型,如果包含有“邮箱”字样,就返回“邮箱”,否则返回“账号”。
B2单元格输入以下公式,向下复制。
=IF(REGEXP(A2,"邮箱",1),"邮箱","账号")
REGEXP第三参数使用1,表示判断模式,如果A2单元格中包含“邮箱”字样,返回逻辑值TRUE,否则返回FALSE。
最后使用IF函数,根据REGEXP的判断结果返回类型“邮箱”或“账号”。
6、第三参数使用2,表示替换模式,例如以下公式,可将A2单元格中的“邮箱”,替换为“Email”。
=REGEXP(A2,"邮箱",2,"Email")
7、在替换模式下,如果省略第四参数,则表示将指定内容删除。
例如以下公式,会将A2单元格中的“邮箱”字样删除。
=REGEXP(A2,"邮箱",2)
8、如下图所示,希望根据A列中的混合内容计算体积。
B2单元格输入以下公式,向下复制。
=PRODUCT(1*REGEXP(A2,"[\d]+"))
公式中的[\d]+,作用等同于[0-9]+,表示0-9的连续数字。
REGEXP将各个连续数字依次提取出之后,先用乘以1的方式转换为数值,再使用PRODUCT函数计算各个数值的乘积。
9、如下图,希望提取A列混合内容中括号内的颜色信息。
B2单元格输入以下公式,向下复制。
=REGEXP(A2,"(.*)")
公式中的小数点.表示任意字符,星号*是量词,表示前面的点号.可以出现零次或多次。(.*)表示全角括号及括号内的内容。
好了,今天的内容就是这些吧,祝各位假日好心情~
图文制作:祝洪忠