我是Google Sheet脚本的新手。
我正在编写一个代码,从基于命名约定的长文本中剥离第六个组件。正文共有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"声明为数组时,函数确实返回了所需的文本(第五个组件(,但文本分布在多个单元格中,每个单元格中都有一个字符,而不是一个单元格中的单个字符串
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;
}