我正在尝试完成Google脚本以重新格式化我希望变成超链接的字段。
这是电子表格中文本的通用格式:
tistaff:其他部分:person:randomname
这就是我希望它出现的方式:
<li><a href="http://www.thisisstaffordshire.co.uk/topics/person/randomname">randomname</a></li>
我做了大部分的工作,除了结束位,我无法解决。任何人都可以提供帮助。
这是我的剧本:
function HTMLtransform() {
var sheet = SpreadsheetApp.getActiveSheet();
for(var c=1; c<sheet.getLastRow(); c++){
var rng = sheet.getRange("B"+c);
var rplc = sheet.getRange("F"+c);
var value = String(rng.getValue());
var replVal = new String('test');
var target = 'test'; // this variable is designed to capture the unique bit of the variable
target = value.replace(/tistaff: other sections:[a-z]*: ([a-z]*)$/, '$1');// this variable is designed to capture the unique bit of the variable
replVal = value;
replVal = replVal.replace(/ company:/, 'company/');
replVal = replVal.replace(/ person:/, 'person/');
replVal = replVal.replace(/ place:/, 'place/');
replVal = replVal.replace(/tistaff: other sections:/, '<li><a href="http://www.thisisstaffordshire.co.uk/topics/');
replVal = replVal.replace(/ ([a-z]*)$/, '');
replVal = replVal + target + '">' + target + '</a></li>';
rplc.setValue(replVal);
}
}
它适用于某一点,但这是输出:
**<li><a href="http://www.thisisstaffordshire.co.uk/topics/person/tistaff: other sections: person: randomname">tistaff: other sections: person: randomname</a></li>**
我做错了什么?
答案 0 :(得分:1)
这是完成的代码:
我没有意识到您可以多次插入子模式。
function HTMLtransform() {
var sheet = SpreadsheetApp.getActiveSheet();
for(var c=1; c<sheet.getLastRow(); c++){
var rng = sheet.getRange("B"+c);
var rplc = sheet.getRange("F"+c);
var value = String(rng.getValue());
regexFormat = /tistaff: other sections: (place|company|person): ([a-z]*)$/
// var replVal = new String('test');
replVal = value.replace(regexFormat, '<li><a href="http://www.thisisstaffordshire.co.uk/topics/$1/$2'+'">$2</a></li>');
rplc.setValue(replVal);
}
}