【问题标题】:How to split a string to the left and right of a delimiter in Google Sheets如何在Google表格中将字符串拆分到分隔符的左侧和右侧
【发布时间】:2020-06-11 19:27:42
【问题描述】:

我有想要使用分隔符左右拆分的文本。文本看起来像这样:

这是文本 10 : 12 更多文本 Some1 14 : 10 更多文本

输出应该是:

This is text | 10 | 12 | More Text
Some1 | 14 | 1 | MoreText

我有这个公式,但它不能正常工作。

=ARRAYFORMULA(IF(C2:C="","",(SPLIT(REGEXREPLACE(C2:C,"\s*(\d+)\s*","|$1|"),"|" ))))

链接到电子表格 - https://docs.google.com/spreadsheets/d/1EmL4kzCGxRbwvNJntwMokqgt8yjjAqnZuUidTbZe6Z8/edit?usp=sharing

例如,当1Some1 文本的一部分时,它将上面第二行的结果输出为Some | 1 | 14 | 10 | MoreText。我只希望公式将文本从冒号拆分为 4 个空格。

请帮我解决这个问题,将不胜感激。

【问题讨论】:

  • 您是否希望使用“:”作为分隔符?还是空格(“”)?还是逗号?您似乎想要将多个拆分操作与不同的分隔符合二为一。

标签: google-sheets


【解决方案1】:

这个修改怎么样?

在此修改中,我修改了正则表达式并从您的公式中替换了 REGEXREPLACE 的值。

修改公式:

=ARRAYFORMULA(IF(A1:A="","",(SPLIT(REGEXREPLACE(A1:A,"(\d+) : (\d+)","|$1|$2|"),"|"))))
  • 在这种情况下,它假设将样本值的初始值放入单元格“A1:A9”中。

结果:

  • “A11:A12”的值是您问题中的示例输入值。

注意:

  • 我认为您的示例中的Myeam 4 5 Team D U18 可能是Myeam  74 15  Team D U18

参考:

补充:

为了去掉每个单元格的空格,下面的公式怎么样?

示例公式1:

=ARRAYFORMULA(IF(A1:A="","",(TRIM(SPLIT(REGEXREPLACE(A1:A,"(\d+) : (\d+)","|$1|$2|"),"|")))))

示例公式2:

当我看到您的示例输入值时,我确认 00A0 被用作空格。因此,如果您的其他示例值有,请使用以下示例公式。

=ARRAYFORMULA(IF(A1:A="","",(TRIM(SPLIT(SUBSTITUTE(REGEXREPLACE(A1:A,"(\d+) : (\d+)","|$1|$2|")," "," "),"|")))))

参考:

【讨论】:

  • 您的答案@Tanaike 工作完美,除了在最后一列创建的前导空格。你如何摆脱它?谢谢。
  • @Mary ongubo 感谢您的回复。关于价值的调整,我更新了我的答案。你能确认一下吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-28
  • 2023-03-24
  • 1970-01-01
  • 2022-12-05
相关资源
最近更新 更多