使用 JavaScript 提取字符串部分
extract sections of string with JavaScript
假设我有一个字符串变量 {{Name}}
如下所示:
APPLE-CARROT-PAPER-HILL
我想使用 JavaScript 创建 4 个变量来捕获每个片段:
var1 = APPLE
var2 = CARROT
var3 = PAPER
var4 = HILL
在跟踪代码管理器中,我假设 var1 的 JS 是:
function(){
var name = {{Name}}.slice(0, {{Name}}.indexOf("-"));
return name;
}
但是其他的怎么办呢?
试试这个,
let name = 'APPLE-CARROT-PAPER-HILL';
let nameAr = name.split('-');
let var1 = nameAr[0];
let var2 = nameAr[1];
let var3 = nameAr[2];
let var4 = nameAr[3];
不确定你想做什么,但这样做更容易也更好:
- 将所有值存储在一个数组中,而不是单独的变量。
- 使用
split
而不是复杂的函数来提取它们。
var str = 'APPLE-CARROT-PAPER-HILL';
console.log(str.split('-'));
var name_str = "APPLE-CARROT-PAPER-HILL";
function a(){
var v1, v2, v3, v4;
var name = name_str.split('-');
[v1, v2, v3, v4] = name;
console.log(v1);
console.log(v2);
console.log(v3);
console.log(v4);
}
a();
希望这段代码对您有所帮助
var name = "APPLE-CARROT-PAPER-HILL"
name.split("-")
由于您使用的是 GTM(到目前为止,其他答案都忽略了 google-tag-manager
标记),我怀疑您的实际问题是是否有办法用单个变量来解决这个问题。 las,不,您需要为每个字符串创建一个变量
APPLE-CARROT-PAPER-HILL
// Apple
function(){
return {{Name}}.split("-")[0];
}
// Carrot
function(){
return {{Name}}.split("-")[1];
}
etc.
你可以做得更好一点,但是创建一个自定义模板,returns 数组中给定索引的值,但是如果你想在单独的字段中使用名称的各个部分(例如用作自定义维度)那么唉,你需要为你的分隔字符串的每个段一个变量。
假设我有一个字符串变量 {{Name}}
如下所示:
APPLE-CARROT-PAPER-HILL
我想使用 JavaScript 创建 4 个变量来捕获每个片段:
var1 = APPLE
var2 = CARROT
var3 = PAPER
var4 = HILL
在跟踪代码管理器中,我假设 var1 的 JS 是:
function(){
var name = {{Name}}.slice(0, {{Name}}.indexOf("-"));
return name;
}
但是其他的怎么办呢?
试试这个,
let name = 'APPLE-CARROT-PAPER-HILL';
let nameAr = name.split('-');
let var1 = nameAr[0];
let var2 = nameAr[1];
let var3 = nameAr[2];
let var4 = nameAr[3];
不确定你想做什么,但这样做更容易也更好:
- 将所有值存储在一个数组中,而不是单独的变量。
- 使用
split
而不是复杂的函数来提取它们。
var str = 'APPLE-CARROT-PAPER-HILL';
console.log(str.split('-'));
var name_str = "APPLE-CARROT-PAPER-HILL";
function a(){
var v1, v2, v3, v4;
var name = name_str.split('-');
[v1, v2, v3, v4] = name;
console.log(v1);
console.log(v2);
console.log(v3);
console.log(v4);
}
a();
希望这段代码对您有所帮助
var name = "APPLE-CARROT-PAPER-HILL"
name.split("-")
由于您使用的是 GTM(到目前为止,其他答案都忽略了 google-tag-manager
标记),我怀疑您的实际问题是是否有办法用单个变量来解决这个问题。 las,不,您需要为每个字符串创建一个变量
APPLE-CARROT-PAPER-HILL
// Apple
function(){
return {{Name}}.split("-")[0];
}
// Carrot
function(){
return {{Name}}.split("-")[1];
}
etc.
你可以做得更好一点,但是创建一个自定义模板,returns 数组中给定索引的值,但是如果你想在单独的字段中使用名称的各个部分(例如用作自定义维度)那么唉,你需要为你的分隔字符串的每个段一个变量。