Google Spreadsheets:任何正则表达式替换

时间:2011-03-25 03:52:23

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

我目前正在使用

SUBSTITUTE(text, search_text, new text, occurrence)

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

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

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

1 个答案:

答案 0 :(得分:3)

您可以使用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)