如果失败,如何使Google表格REGEXREPLACE返回空字符串?

问题描述

我正在Google表格中使用REGEXREPLACE函数提取skus中包含的某些文本。如果找不到文本,则似乎返回整个原始字符串。是否可以使其返回空字符串呢?遇到问题是因为它实际上并不会出错,因此使用iserror似乎不起作用。

示例:我的sku应该包含5个单独的组,并用下划线字符“ _”分隔。在此示例中,它缺少最后一组,因此它返回了整个原始字符串。

LDSS0107_SS-WH_5
= REGEXREPLACE($ A3,“ [^ _] + _ [^ _] + _ [^ _] + _ [^ _] + _(。*)”,“ $ 1”)

无法找到第五个捕获组,这是正确的……但是我需要它在失败时给我一个空字符串……目前给了我整个原始字符串。有什么想法吗?

解决方法

也许解决方案是添加缺少的组:

=REGEXREPLACE($A1&REPT("_ ",4-(LEN($A1)-LEN(SUBSTITUTE($A1,"_","")))),"[^_]+_[^_]+_[^_]+_[^_]+_(.*)","$1")

这将返回缺少的组的结果。如果您不想这样做,请使用TRIM函数。

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...