【问题标题】:Extract a text between two strings multiple times in Google Spreadsheet在 Google 电子表格中多次提取两个字符串之间的文本
【发布时间】:2021-07-10 08:36:32
【问题描述】:

我正在使用谷歌电子表格从单元格中提取特定值: X:产品 1;Y:产品 2;Z:产品 3

预期输出:X;是; Z

我设法只提取了第一个值:=iferror(regexextract(A1,".+?:.+?")

如何多次运行?

【问题讨论】:

标签: regex google-sheets


【解决方案1】:

我们或许可以在这里使用正则表达式替换方法:

=REGEXREPLACE(A1, "([A-Z]+):.*?(;|$)", "$1$2")

Demo

在这里,我们匹配并捕获冒号之前的主要产品字母。我们还匹配并包括最近的分号分隔符或单元格的末尾。我们捕获这个可选的分号,然后仅替换为$1$2,这是前两个捕获组。

【讨论】:

    【解决方案2】:

    如果您只需要每个项目的第一个字符,为什么要使用正则表达式:

    =ArrayFormula(join(";",left(split(A1,";"),1)))
    

    【讨论】:

      【解决方案3】:

      使用:

      =INDEX(JOIN(";", REGEXEXTRACT(SPLIT(A1, ";"), "(.+):")))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-04
        • 1970-01-01
        • 1970-01-01
        • 2016-08-13
        • 2013-05-14
        相关资源
        最近更新 更多