2020-11-17 08:51:28
使用正则表达式结合REGEXEXTRACT函数可以高效提取整数,核心正则表达式为d+,其表示匹配一个或多个连续数字字符。
1. 函数与正则表达式原理在电子表格软件(如Google Sheets)中,REGEXEXTRACT函数用于从文本中提取符合正则表达式规则的子串。正则表达式d+中,d是元字符,代表任意数字(0-9),+是量词,表示匹配前一个元素(即d)一次或多次。因此,d+能精准匹配文本中连续出现的数字序列,例如在字符串“12.34”中匹配到“12”,在“-5.6”中匹配到“5”(若需包含负号,需调整正则表达式)。
2. 基础提取方法若需提取文本中的第一个整数,可直接使用公式=REGEXEXTRACT(文本单元格,"d+")。例如,若单元格B3内容为“订单号:12345,数量:67”,公式=REGEXEXTRACT(B3,"d+")将返回“12345”。此方法默认从文本开头搜索,遇到第一个符合d+的序列即停止,适用于整数位于文本开头或需快速提取首个数字的场景。
3. 提取特定位置的整数若需提取文本中第N个整数(如第二个),需结合其他函数(如SPLIT或MID)或调整正则表达式逻辑。例如,在Google Sheets中,可先用SPLIT将文本按非数字字符分割为数组,再通过索引提取目标整数。但更简洁的方式是使用更复杂的正则表达式,如(?:D*d+){N-1}D*(d+)(需替换N为具体位置),但此方法可读性较差。推荐优先使用SPLIT或辅助列处理多整数提取需求。
4. 处理负数与小数若文本中包含负数(如“-123”)或小数(如“3.14”),需调整正则表达式: