Google Sheet自定义函数未返回字符串



我是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;
}

最新更新