Я пытаюсь заменить подстроки, которые выглядят следующим образом
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
Я думаю, что другой шаблон RegEx для функции ReplaceNth сделает это, но не может получить то, что должно быть
Это то, что я придумал в своих ограниченных способностях с Google Script, которые я получил в основном из-за поиска
Спасибо
Изменить: обновлено с помощью решения 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);
}

(^|\|)(Educator|Education)(\||$)- person Tim Biegeleisen   schedule 25.05.2018s = s.replace(/\bEducat(?:or|ion)\b/g, 'Educator/Education')- person Wiktor Stribiżew   schedule 25.05.2018