Google Sheet 自定义函数不返回字符串
Google Sheet custom function not returning string
我是 Google Sheet 脚本的新手。
我正在编写代码以从基于命名约定的长文本中删除第六部分。文本有 6 个部分,全部由下划线分隔。但是,我的代码没有 returning 任何东西
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;
}
然后我从 sheet 调用这个函数,如下所示
=RetailerStrip("abc_def_ghi_jkl_mno_pqr")
当我尝试将 'retname' 声明为数组时,该函数会 return 所需的文本(第五部分),但文本分布在多个单元格中,每个单元格中都有一个字符,而不是作为一个单元格中的单个字符串
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;
}
我是 Google Sheet 脚本的新手。
我正在编写代码以从基于命名约定的长文本中删除第六部分。文本有 6 个部分,全部由下划线分隔。但是,我的代码没有 returning 任何东西
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;
}
然后我从 sheet 调用这个函数,如下所示
=RetailerStrip("abc_def_ghi_jkl_mno_pqr")
当我尝试将 'retname' 声明为数组时,该函数会 return 所需的文本(第五部分),但文本分布在多个单元格中,每个单元格中都有一个字符,而不是作为一个单元格中的单个字符串
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;
}