我有一个生成的列表,就像这样
196-1526,85-651,197-1519
我需要像这样的数组。每个节点有两部分。我只需要一个数组中每个节点的第一部分。
196,85,197
我已经有了这个生成196的代码
str.substr(0,str.indexOf('-'));
答案 0 :(得分:3)
您可以使用以下内容:
'196-1526, 85-651, 197-1519'.replace(/-\d+(,|$)/g, '').split(/\s/)
答案 1 :(得分:2)
如果是数组
var myarray = ["196-1526", "85-651", "197-1519"];
var newarray = [];
var i = 0;
for(i = 0; i < myarray.length; i++){
var mnode = myarray[i].split("-");
newarray.push(mnode[0].trim());
}
如果是字符串
var myarray = "196-1526, 85-651, 197-1519".split(",");
var newarray = [];
var i = 0;
for(i = 0; i < myarray.length; i++){
var mnode = myarray[i].split("-");
newarray.push(mnode[0].trim());
}
答案 2 :(得分:2)
如果输入是字符串,您可以使用split()和push(),类似于:
var x = "196-1526, 85-651, 197-1519"
var y = x.split(',');
var myArray = [];
for(i = 0; i < y.length; i++){
myArray.push(y[i].split('-')[0].trim());
}
DEMO - 使用split()
和push()
答案 3 :(得分:0)
使用split
尝试此代码var text='196-1526, 85-651, 197-1519';
var splittedtext=text.split(',');
var numbers=new Array();
for(var i=0;i<splittedtext.length;i++)
{
var furthsplit=splittedtext[i].split('-');
numbers[i]=furthsplit[0];
}
alert(numbers);
答案 4 :(得分:0)
var pairs = str.split(", ");
var values = [];
for (var i=0; i< pairs.length; i++) {
values.push(pairs[i].substr(0, pairs[i].indexOf('-')));
}