使用 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];

不确定你想做什么,但这样做更容易也更好:

  1. 将所有值存储在一个数组中,而不是单独的变量。
  2. 使用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 数组中给定索引的值,但是如果你想在单独的字段中使用名称的各个部分(例如用作自定义维度)那么唉,你需要为你的分隔字符串的每个段一个变量。