我是Google表格脚本的新手。
我正在编写代码,以基于命名约定从长文本中删除第六个组件。文本有6个部分,每个部分都由下划线分隔。但是,我的代码未返回任何内容
function RetailerStrip(account) {
var count = 0;
var retname = "";
var retcount = 0;
for(var i = 0, len = account.length; i < len; i++) {
if (account[i] =="_") {
++count;
}
if (count == 5) {
retname[retcount]= account[i];
++retcount;
}
}
return retname;
}
然后,我从工作表中调用此函数,如下所示
=RetailerStrip("abc_def_ghi_jkl_mno_pqr")
当我尝试将“ retname”声明为数组时,该函数的确返回了所需的文本(第五个组件),但文本分散在多个单元格中,每个单元格中都有on字符,而不是一个单元格中的单个字符串
var retname = [];
请帮忙
您可以尝试以下方法:
function RetailerStrip(str) { return str.split('_')[5]; }
该split()
方法创建一个数组。
但是,如果您更喜欢使用字符串迭代方法,则可以使用以下方法:
function RetailerStrip(account) {
var count = 0;
var retname = []; // Array
var retcount = 0;
for (var i = 0, len = account.length; i < len; i++) {
if (account[i] =="_") {
++count;
}
if (count == 4) {
retname[retcount]= account[i];
++retcount;
}
}
retname.shift(); // To get rid of the underscore from the array
var retnameString = retname.join(''); // To convert the array to a string
return retnameString;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句