javascript - JavaScript - 需要多维数组?
问题描述
我有一个看起来像这样的字符串:
PRE_VALUE1="TIMESTAMP" PRE_VALUE2="String13" PRE_VALUE3="" PRE_VALUE4="1" PRE_VALUE5="AK" PRE_VALUE6="key6" POST_VALUE1="000" VALUE8="KE_Y1" PRE_VALUE9="" PRE_VALUE10="10.10.10.10" ……
我的目标是在每个PRE_VALUE#
. 之后,我想构建一个简单的 RegExp来检查 PRE_VALUE# 的引号中是否包含某些内容。
上面的部分对我来说几乎是清楚的。我将使用 split-Method - 这是我的问题,我不确定如何告诉 split-Method 它应该在第二个引号而不是第一个引号处拆分字符串。
但是,我真正关心的是,如果拆分值与 RexExp 匹配到变量,我想分配它们。在将它们分配给该变量之前,应该有一个简单的词来解释该字段。例如:
PRE_VALUE2="String13" 将是“String: String13”。
如果我理解正确,最好和最快的方法是在这里使用多维数组。由于有许多这样的消息和“PRE_VALUE#”仅通过正则表达式构建完整的输入字符串应该有点慢,对吗?
也许有人可以在这里帮助我。
提前致谢!
解决方案
PRE_VALUEx
您可以将string
by 空格然后 by拆分,而不是仅使用 Regex 来过滤值,=
以获取所有相关信息values
,array
如下所示:
[ [“PRE_VALUE1”、“TIMESTAMP”]、[“PRE_VALUE2”、“String13”]、[“PRE_VALUE3”、“”]、[“PRE_VALUE4”、“1”]、[“PRE_VALUE5”、“AK”]、 [“PRE_VALUE6”、“key6”]、[“POST_VALUE1”、“000”]、[“VALUE8”、“KE_Y1”]、[“PRE_VALUE9”、“”]、[“PRE_VALUE10”、“10.10.10.10”] ]
这应该是代码:
var arr = string.split("\" ").map(x => {
x = x.replace(/\"/g, '');
return x.split("=");
});
演示:
let string = `PRE_VALUE1="TIMESTAMP" PRE_VALUE2="String13" PRE_VALUE3="" PRE_VALUE4="1" PRE_VALUE5="AK" PRE_VALUE6="key6" POST_VALUE1="000" VALUE8="KE_Y1" PRE_VALUE9="" PRE_VALUE10="10.10.10.10"`;
var arr = string.split("\" ").map(x => {
x = x.replace(/\"/g, '');
return x.split("=");
});
console.log(arr);
推荐阅读
- linux - 程序集克隆系统调用线程函数未调用
- linux - .bss 部分中没有任何名称的符号和完成的.7392 符号
- asp.net - 如何使用代码存储在数据库中而不是文件中的 ASP.Net MVC 布局页面?
- javascript - 使用 jQuery 或 js 在导航链接点击时开始和停止背景视频?
- mysql - 在 WHERE 条件中使用 UNION 语句插入选择
- php - 动态更改(或用户更改)Wordpress 中的列数
- typescript - 打字稿检查对象是否可迭代
- angular - 将值设置为没有 NgModel、反应式表单的表单控件?
- python - 来自lxml python的fromstring函数出错
- python - 如何根据阈值在 Python 中对多列进行分组并创建新列