【问题标题】:Google Spreadsheets: Any Regex Replace谷歌电子表格:任何正则表达式替换
【发布时间】:2011-03-25 03:52:23
【问题描述】:

我现在使用

SUBSTITUTE(text, search_text, new text, occurrence)

要替换文本,但我开始发现我有一个要替换的东西的列表,上面的方法会变成类似

SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(...)...)...)...

非常混乱,有什么更好的方法来完成这项工作?

【问题讨论】:

    标签: regex google-apps-script google-docs


    【解决方案1】:

    您也许可以改用 REGEXREPLACE(text, regular_expression, replacement) 函数来使用正则表达式。

    如果这不起作用,可以使用 Google Apps 脚本编写自定义函数。也许你可以写一个可以接受多个要替换的字符串。

    编辑:我刚刚写了这样一个函数:

    function SubstituteAll(text) {
      arguments = Array.prototype.slice.apply(arguments);
      arguments.shift();
      var replacement = arguments.pop();
      for(var i=0; i<arguments.length; i++)
      {
        text = text.replace(arguments[i], replacement);
      }
      return text;
    }
    

    用法:

    SubstituteAll(text, search_text1, search_text2, ..., replacement_text)
    

    【讨论】:

    • 如何编写该脚本? Insert &gt; Function &gt; More ... 似乎不是正确的地方,Inset &gt; Script ... 似乎提供了公开可用的脚本,我在哪里放置自己的?我猜它使用的是普通的 JS?
    • 使用Tools &gt; Scripts &gt; Script Editor。将代码粘贴进去,并以任何名称保存(我认为您命名它并不重要)。然后你应该能够像使用任何内置函数一样使用它。 Example Spreadsheet
    • Docs 刚刚更改了菜单,现在位于 Tools &gt; Script Editor
    猜你喜欢
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 2022-11-21
    • 2020-10-16
    • 2022-10-14
    • 2015-02-16
    • 2020-03-06
    • 1970-01-01
    相关资源
    最近更新 更多