Я пытаюсь заменить подстроки, которые выглядят следующим образом:
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);
}