【问题标题】:split string with '&' character and ignore if it's first in the string [duplicate]用'&'字符分割字符串,如果它是字符串的第一个则忽略它[重复]
【发布时间】:2020-09-29 07:47:06
【问题描述】:

如果显示 & 字符,我想拆分字符串,但如果 & 显示在字符串的开头,它必须忽略拆分。例如 '&hello=world&hi=usa' 将是

key: &hello, value: world
key: hi, value: usa

如果我使用 split('&') 它将创建空键和值,因为第一个 &

【问题讨论】:

  • /(?!^)&/ 可以。对此的替代方法可能是在= 之前和之后捕获值,例如/(\w+)=(\w+)/g
  • 你能再举一些输入和预期输出的例子吗?

标签: javascript regex


【解决方案1】:

您可以简单地从 split() 函数生成的数组中删除空项:

let s = '&hello=world&hi=usa';

let a = s.split("&");
if (a[0] == "") {
  a.shift(0);
}
let arr = [];

for (let i = 0; i < a.length; i++) {
  let n = a[i].split("=");
  let k = n[0];
  let v = n[1];
  arr.push({"key": k, "value": v});
}

console.log(arr);

【讨论】:

    猜你喜欢
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-04
    相关资源
    最近更新 更多