Google表格公式中的多个REGEXEXTRACT

斯梅德高

我在 Google 表格中有一行文本,其中包含多种品牌。

单元格 B2 中的文本:[brand]weber[brand] [category]spring[category] ​​[brand]bosch[brand]

D2 列中的结果必须是:weber bosch

我正在尝试使用这个公式: =REGEXEXTRACT(B2; "[brand](.*?)[brand]")

但它只找到第一个 [品牌]....[品牌] 有没有人可以帮助我如何在文本中的文本中找到所有 [品牌]....[品牌] 并在 [品牌]....[品牌]

任何帮助表示赞赏!谢谢 :)

JPV

假设不同标签之间有空格(如您的示例),您可以在 B2 中尝试

=textjoin(", ", 1, ArrayFormula(iferror(regexextract(split(regexreplace(A2, "\](\s)\[","]_["), "_"), "\[brand\](.*?)\[brand\]"))))

如果没有,并且品牌数量是固定的(例如2个品牌),您可以尝试

=regexextract(A2, rept(".*\[brand\](.*?)\[brand\]", 2))

如果字符串中存在的品牌数量是可变的,您可以计算存在的品牌数量并将其用作 rept() 函数中的第二个参数。

=regexextract(A2, rept(".*\[brand\](.*?)\[brand\]", (len(A2)-len(substitute(A2, "[brand]",)))/(2*LEN("[brand]"))))

如果您需要将输出放在单个单元格中(如在第一个公式中),您可以将 join(", ", ...) 包裹在最后两个公式周围。

希望有帮助吗?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章