2011-03-25 103 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