ai didi

javascript - 提取多个字符串

转载 作者:行者123 更新时间:2023-11-28 15:40:37 24 4
gpt4 key购买 nike

我正在尝试从以下类型的输入中提取多个参数字符串:

var paramsString = "first='somevalue' second='another value' third='another'"

生成的对象:

var paramsObject = { 
first: 'somevalue',
second: 'another value',
third: 'another'
};

我最初以为我可以paramsString.split(""),但后来我意识到(如上图所示)某些值可能包含空格。

然后我想也许像这样的正则表达式:

paramsObject.first = paramsString.match("first='(.*)'")[0];

但这一直到第三个值之后的最后一个'字符。

我可以使用 indexOf()substring 来做到这一点,但这似乎非常冗长,尤其是在扩展到更多参数时。

最有效、最简洁的方法是什么?

最佳答案

您可以尝试这种方法:

var paramString = "first='somevalue' second='another value' third='another'"
paramString.match(/\w+='.*?'/g).reduce(function(prev, curr) {
var parts = curr.split('=');
prev[parts[0]] = parts[1].replace(/(^'|'$)/g, '');
return prev;
}, {});

/\w+='.*?'/g 正则表达式匹配后, reduce 的幂其余的将匹配数组转换为对象。

关于javascript - 提取多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23929337/

24 4 0
文章推荐: javascript - Grunt 服务命令抛出错误
文章推荐: html - 我的 html 导航栏中的这个额外框是什么
文章推荐: javascript - 是否可以从javascript中的条件(三元)运算符获取两个值?
文章推荐: html - 具有固定空间的响应式图像
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com