【问题标题】:REGEXEXTRACT multiple values - Google SheetsREGEXEXTRACT 多个值 - Google 表格
【发布时间】:2020-03-17 09:22:27
【问题描述】:

我在一个谷歌表格单元格中有以下条目

12@xy.de; 123@xy.de; 1234@xy.de; ext!abc@def.de!; 321@xy.de; ext!def@abc.de!; 4321@xy.de;

现在我想使用公式创建以下输出(也在一个单元格中)。

预期结果:

abc@def.de; def@abc.de

我尝试使用REGEXEXTRACT,但这个函数只返回第一个 匹配(abc@def.de)

有什么建议吗?

【问题讨论】:

  • 这是否意味着您想要ext!...! 中的所有地址,或者所有仅包含标识符字母的地址,或两者兼而有之?请在您的问题中添加您正在寻找的匹配项的描述。

标签: regex google-sheets google-sheets-formula array-formulas textjoin


【解决方案1】:

尝试:

=ARRAYFORMULA(TRIM(TEXTJOIN("; "; 1; IF(REGEXMATCH(
 SPLIT(A1; ";"); "abc@def.de|def@abc.de"); SPLIT(A1; ";"); ))))

【讨论】:

  • 谢谢我喜欢这种方法。但是,我更喜欢动态解决方案。我的真实数据具有这种格式的更多行(ext!y@aa.de!)。此外,人们会经常添加新行。所以我不希望公式中的特定行被“硬编码”。这甚至可行吗?
  • 你能分享一份包含假数据和所需输出示例的工作表副本吗?
  • @DocBenchpress 在这种情况下您可以修改您的问题吗?这样看来这不是一个变色龙问题
  • 我会尝试使用此正则表达式并根据您的需要进行修改\w{2,3}\!\w{2,3}\@\w{2,3}\.\w{2,3}\!,在regexr.com 上尝试一下
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多