我有一个字符串,其中每个值都在 []
之间,最后有一个 .
。如何将字符串中的所有值分开?
这是示例字符串:
[value01][value02 ][value03 ]. [value04 ]
//want something like this
v1 = value01;
v2 = value02;
v3 = value03;
v4 = value04
值的数量不是恒定的。如何从该字符串中单独获取所有值?
最佳答案
使用正则表达式指定多个分隔符。请检查以下帖子:
How do I split a string with multiple separators in javascript?
Split a string based on multiple delimiters
var str = "[value01][value02 ][value03 ]. [value04 ]"
var arr = str.split(/[\[\]\.\s]+/);
arr.shift(); arr.pop(); //discard the first and last "" elements
console.log( arr ); //output: ["value01", "value02", "value03", "value04"]
这是如何运作的
.split(/[\[\]\.\s]+/)
在找到以下一个或多个字符的位置拆分字符串:[] .
。现在,由于这些字符也出现在字符串的开头和结尾,.shift()
丢弃第一个元素,.pop()
丢弃最后一个元素,两者都是空字符串。但是,您可能想要使用 .filter()
并且您可以将第 2 行和第 3 行替换为:
var arr = str.split(/[\[\]\.\s]+/).filter(function(elem) { return elem.length > 0; });
现在您可以使用 jQuery/JS 来遍历这些值:
$.each( arr, function(i,v) {
console.log( v ); // outputs the i'th value;
});
arr.length
会给出你拥有的元素的数量。
关于javascript - 使用javascript将值与字符串分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24205707/