求适用于Google Sheets的正则表达式:提取DEVO-XX格式内容
在Google Sheets中提取所有“DEVO-数字”格式内容的正则方案
正确公式(两种可选方案)
方案一(适配多分隔场景,稳定性更高)
=TEXTJOIN(", ", TRUE, ARRAYFORMULA(REGEXEXTRACT(SPLIT(REGEXREPLACE(B1, "[,\n]", " "), " "), "DEVO-\d+")))
方案二(简洁版)
=REGEXREPLACE(TRIM(REGEXREPLACE(REGEXREPLACE(B1, "(DEVO-\d+)", "$1,"), "[^,DEVO-\d]+", "")), ",$", "")
示例验证
- 输入内容(单元格B1):
30m DEVO-67, DEVO-68
1h DEVO-69, DEVO-70
2h DEVO-75 - 预期输出:
DEVO-67, DEVO-68, DEVO-69, DEVO-70, DEVO-75
原公式问题分析
你之前使用的公式=REGEXREPLACE(B1,"[0-9]+\S+\s+DEVO-(\d+).*","DEVO - $1")存在两个核心问题:
- 匹配范围受限:
.*会匹配第一个DEVO-数字之后的所有内容,仅能提取开头第一个符合格式的项; - 格式错误:替换后生成带空格的
DEVO - $1,不符合原始的DEVO-数字格式要求。
内容的提问来源于stack exchange,提问作者Keval
相关产品推荐
相关产品推荐

