【问题标题】:Split string and then remove prefix in Google Sheets拆分字符串,然后删除 Google 表格中的前缀
【发布时间】:2021-10-17 20:14:04
【问题描述】:

我的 Google 表格中填充了以下格式的字符串:

Monday: 12:00 PM – 12:00 AM,Tuesday: 12:00 PM – 12:00 AM,Wednesday: 12:00 PM – 12:00 AM,Thursday: 12:00 PM – 12:00 AM,Friday: 12:00 PM – 12:00 AM,Saturday: 12:00 PM – 12:00 AM,Sunday: 12:00 PM – 12:00 AM

我的目标是将字符串拆分为不同的列,然后从每个单元格中删除前缀,例如:

Monday Tuesday Wednesday Thursday Friday Saturday Sunday
12:00 PM – 12:00 AM 12:00 PM – 12:00 AM 12:00 PM – 12:00 AM 12:00 PM – 12:00 AM 12:00 PM – 12:00 AM 12:00 PM – 12:00 AM 12:00 PM – 12:00 AM

我使用了=SPLIT(B2,",") 公式,但显然它只拆分字符串而不删除前缀。 我怎样才能删除这些,最好是在使用 SPLIT 公式之前? 我想也许可以使用 RegEx 删除“,”和“: ”之间的所有字符,但我不知道如何。请注意,仅过滤数字字符不是一个选项,因为在某些情况下属性将是 "Closed" 而不是小时或其他内容。

【问题讨论】:

    标签: regex google-apps-script google-sheets google-sheets-formula


    【解决方案1】:

    使用 =arrayformula(REGEXEXTRACT(SPLIT(B2, ",", true), ":\s(.*)"))

    【讨论】:

    • 您的公式没有提取工作日
    • 显然,在某些业务每天有多个开盘区间的场景下,API 会生成公式无法处理的额外输出(Monday: 12:00 – 4:00 PM, 6:00 PM – 12:00 AM,Tuesday: 12:00 – 4:00 PM, 6:00 PM – 12:00 AM,Wednesday: 12:00 – 4:00 PM, 6:00 PM – 12:00 AM,Thursday: 12:00 – 4:00 PM, 6:00 PM – 12:00 AM,Friday: Closed,Saturday: Closed,Sunday: 12:00 – 4:00 PM, 6:00 PM – 12:00 A)。我怎么弄出来的?以及如何使公式指示输出数量并相应地运行? i.stack.imgur.com/V2iqH.png
    【解决方案2】:
    =ARRAYFORMULA(TRANSPOSE(SPLIT(TRANSPOSE(SPLIT(A1,",")),": ",FALSE)))
    

    【讨论】:

    • 不错,做的很好
    【解决方案3】:

    假设您的字符串在单元格 A1 中,因此您的公式为:

    ={arrayformula(substitute(regexextract(split(A1, ","),"[A-Z][a-z]+: "), ": ", "")); arrayformula(regexextract(split(A1, ","),"[0-2]\d:[0-5]\d +[AP]M – [0-2]\d:[0-5]\d +[AP]M"))}
    

    它用逗号分割字符串,然后提取星期几和时间并将它们放入一个矩阵中。

    如果这有帮助,请告诉我。

    【讨论】:

    • 像魔术一样工作!到最后我打算用它制作一个数组公式,所以在每一行之后重复标题并不是很必要,但我会保存这个!
    • 从你的任务中我了解到你确实想提取工作日
    【解决方案4】:

    试试

    =transpose(split(substitute(substitute(substitute(REGEXEXTRACT(A1,"Monday[:0-9\–, APM]+"),", ","|"),": ","|"),",",""),"|"))
    

    然后将星期一替换为星期二、星期三等。

    【讨论】:

      猜你喜欢
      • 2021-10-17
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 2011-05-08
      • 1970-01-01
      • 2021-09-16
      • 2019-01-13
      相关资源
      最近更新 更多