【问题标题】:REGEX possible?正则表达式可能吗?
【发布时间】:2018-12-01 23:52:25
【问题描述】:

样本here

输入:~|AAA|BBB|~|~|~|BBB|AAA|~|~|CCC|DDD|AAA|~|AAA|~|EEE|~

输出:@AAA|BBB@@@@BBB|AAA@@@CCC|DDD|AAA@@AAA@@EEE@

使用 Google-Sheets REGEX 函数 - 是否可以从输入中获取输出?

规则是:

  1. 任何“|”与“~”相邻的应该变成一个“@”
  2. 所有“~”都消失了
  3. 忽略 3 个字母的单词(它们是可变长度的字母数字字符串)

我已经使用 3 个 SUBSTITUTE 语句完成了此操作,但这会使我已经很大的公式膨胀,字符串文字参数容易出错。那么这可以通过 REGEX 函数来完成吗?

【问题讨论】:

    标签: google-sheets


    【解决方案1】:

    由于 RE2(谷歌表格使用的正则表达式引擎)不支持“lookarounds”,恐怕您至少需要两个函数才能获得所需的结果。

    看看这是否有效:

    =substitute(regexreplace(A1, "~\||\|~", "@"), "@|", "@@")
    

    【讨论】:

    • 谢谢,这就是我正在寻找的答案,可用的正则表达式限制。
    猜你喜欢
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 2015-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多