[英]Regex query with Google spreadsheet scripts
我正在尝试完成一个 Google Apps 脚本来重新格式化我希望将其转换为超链接的字段。
这是电子表格中文本的常见格式:
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>**
我做错了什么?
这是完成的代码:
我没有意识到您可以多次插入子模式。
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);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.