gpt4 book ai didi

javascript - 基于 "&"拆分字符串(url params 字符串),同时允许 & 在参数值内

转载 作者:行者123 更新时间:2023-11-28 13:16:40 25 4
gpt4 key购买 nike

我有一个像这样的字符串:

Id=bzat4e&Name=Gallery: Blitzer: Algebra & Trigonometry, 4e&Year=2016&Code=bzat4e

我想在 & 的基础上拆分它,同时允许 & 内部值。

基本上它是一串 url 参数,我根据 JavaScript 中的键获取值。

I/P 
var paramList = Id=bzat4e&Name=Gallery: Blitzer: Algebra & Trigonometry, 4e&Year=2016&Code=bzat4e

O/P
[Id="bzat4e", Name="Gallery: Blitzer: Algebra & Trigonometry, 4e", Year="2016", Code="bzat4e"]

最佳答案

您可以使用split() 将其作为数组获取

var str = 'Id=bzat4e&Name=Gallery: Blitzer: Algebra & Trigonometry, 4e&Year=2016&Code=bzat4e';
var res = str.split(/&(?=[^=&]+=)/);
console.log(res);

<小时/>

要将数组转换为对象,请使用 reduce()

var str = 'Id=bzat4e&Name=Gallery: Blitzer: Algebra & Trigonometry, 4e&Year=2016&Code=bzat4e';
var res = str.split(/&(?=[^=&]+=)/).reduce(function(a, b) {
var spl = b.split('=');
a[spl[0].trim()] = spl[1];
return a;
}, {});
console.log(res);

<小时/>

对于旧浏览器,请检查 polyfill option for reduce() method .

<小时/>

Regex explanation here

Regular expression visualization

关于javascript - 基于 "&"拆分字符串(url params 字符串),同时允许 & 在参数值内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37322038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com