gpt4 book ai didi

javascript - 正则表达式从带有特定分隔符的字符串中提取部分,JavaScript

转载 作者:行者123 更新时间:2023-11-28 18:44:06 24 4
gpt4 key购买 nike

我有示例字符串:

[:pl]Field_value_in_PL[:en]Field_value_in_EN[:]

我想要得到类似的东西:

Object {
pl: "Field_value_in_PL",
en: "Field_value_in_EN"
}

但我不能假设输入字符串中始终存在“[:pl]”和“[:en]”。只能是 :pl 或 :en、:de 和 :fr 或任何其他组合。

我尝试为此编写正则表达式,但失败了。

最佳答案

尝试使用.match()RegExp /:(\w{2})/g匹配:后跟两个字母数字字符 .map()迭代从 .match() 返回的结果, String.prototype.slice()删除 :从结果来看,.split()RegExp /\[:\w{2}\]|\[:\]|:\w{2}/删除 [ , ]字符和匹配 :后跟两个字母数字字符 .filter()Boolean作为参数从 .split() 返回的数组中删除空字符串,使用index.map()设置对象的值,返回对象

var str = "[:pl]Field_value_in_PL[:en]Field_value_in_EN[:]:deField_value_in_DE";

var props = str.match(/:(\w{2})/g).map(function(val, index) {
var obj = {}
, prop = val.slice(1)
,vals = str.split(/\[:\w{2}\]|\[:\]|:\w{2}/).filter(Boolean);
obj[prop] = vals[index];
return obj
});

console.log(JSON.stringify(props, null, 2))

关于javascript - 正则表达式从带有特定分隔符的字符串中提取部分,JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35658556/

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