如何使用JQUERY拆分方括号内的字符串并将其放入数组中



我有一个串联的字符串[Provider Name 2]-[124]-[12-3456790] .

我要在

array[0] = "Provider Name 2", 
array[1] = 124, 
array[2] = "12-3456790"

尝试将字符串拆分与火柴一起使用,但它对我不起作用

使用正则表达式匹配非[]字符,然后查看]

const input = "[Provider Name 2]-[124]-[12-3456790]";
const output = input.match(/[^[]]+(?=])/g);
console.log(output);

/[^[]]+(?=])/意味着:

  • [^[]]+ - 匹配一个或多个既不[也不]的字符
  • (?=]) - 检查匹配子字符串后面的下一个字符是否为]

如果您还需要绝对确定比赛开始前出现的角色是[,则可以在较新的环境中使用回溯:

const input = "[Provider Name 2]-[124]-[12-3456790]";
const output = input.match(/(?<=[)[^[]]+(?=])/g);
console.log(output);

如果不能使用 lookback,请改为匹配开头方括号,然后.map匹配数组以删除后面的第一个字符:

const input = "[Provider Name 2]-[124]-[12-3456790]";
const output = input.match(/[[^[]]+(?=])/g)
  .map(str => str.slice(1));
console.log(output);

最新更新