我正在尝试替换看起来像以下
的子字符串Education|AAA|BBB|CCC|DDD|EEE
AAA|Educator|CCC|DDD|EEE
其中Education
或Educator
可以位于管道分隔字符串的任何位置。它们最多只存在一次或零次
我需要用Educator/Education
我想要的是
教育者/教育| AAA | BBB | CCC | DDD | EEE
AAA |教育者/教育| CCC | DDD | EEE
这适用于Education
的第一次传递,我得
Educator/Education|AAA|BBB|CCC|DDD|EEE
AAA|Educator|CCC|DDD|EEE
但是在替换Educator
的第二遍中,我得到了
Educator/Education/Education|AAA|BBB|CCC|DDD|EEE
AAA|Educator/Education|CCC|DDD|EEE
我认为不同的ReplaceNth函数的RegEx模式会做到但不能得到它应该是什么
这是我用谷歌脚本的有限能力提出的,我主要是从搜索中拼凑起来
由于
编辑:更新了评论中给出的Wiktors解决方案
function FRCrit_n(){
FRCrit("Elements", "Combined-What Are The Primary Role(s) Being Play?");
}
function FRCrit(shtName,cheader){
var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(shtName);
var data = sh.getDataRange().getValues();
var col =HTN(shtName,cheader)-1; //Header to column index
for(n=1;n<data.length;++n){
data[n][col] = data[n][col].replace(/\bEducat(?:or|ion)\b/g, 'Educator/Education')[col],"Education","Educator/Education",1)
}
sh.getRange(1,1,data.length,data[0].length).setValues(data);
}