2011-03-25 65 views
3

我目前使用谷歌电子表格:任何正则表达式替换

SUBSTITUTE(text, search_text, new text, occurrence) 

替换文本,但我开始发现我的事情的清单来代替,上面的方法将变得像

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

非常混乱,最好的做法是什么?

回答

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) 
+0

我怎么能写剧本? 'Insert> Function> More ...'似乎不是正确的地方,'Inset> Script ...'似乎提供了公开可用的脚本,我在哪里放置自己的脚本?我猜它使用正常的JS? – 2011-04-08 08:06:49

+0

使用“工具>脚本>脚本编辑器”。粘贴代码,并将其保存为任何名称(我不认为这很重要)。那么你应该能够像使用任何内置函数一样使用它。 [示例电子表格](https://spreadsheets.google.com/ccc?key=0ArMBYT02_ES4dFEyX2c0YWhiTURWM3JFNlZHU2dkWmc&hl=zh-CN&authkey=CL_c27QI) – Na7coldwater 2011-04-18 17:36:39

+1

Docs只是更改了菜单,现在位于Tools> Script Editor中。 – Na7coldwater 2011-04-25 20:15:15