将文字拆分为第一个“;”然后又是第二个“;”

时间:2013-08-19 08:58:12

标签: javascript regex split

我需要使用reg exp拆分此文本。到目前为止我设法拆分文本,我确实设法拆分“;”使用

var array3 = fText.match(/(\ d ;; / g);

,结果是[1; 1; 2; 1; 3; 2; 4; 2; 5; 3; 6; 3;]

但我真正需要的只是将文本拆分为第一个“;”所以我得到一个数组,它将会挂掉[1,2,3,4,5,6 ...],然后分成第二个“;”所以我得到[1,1,2,2,3,3 ....]

的数组
1;1; Podkategorija1
2;1; Podkategorija2
3;2; Podkategorija3
4;2; Podkategorija4
5;3; Podkategorija5
6;3; Podkategorija6

2 个答案:

答案 0 :(得分:2)

请尝试以下代码:

var s = 
    '1;1; Podkategorija1\n' +
    '2;1; Podkategorija2\n' +
    '3;2; Podkategorija3\n' +
    '4;2; Podkategorija4\n' +
    '5;3; Podkategorija5\n' +
    '6;3; Podkategorija6\n';
console.log(s.match(/^[^;]*(?=;)/mg));
console.log(s.match(/^([^;]*;){2}/mg).map(function(s) { return s.split(';')[1]; }));

打印

[ '1', '2', '3', '4', '5', '6' ]
[ '1', '1', '2', '2', '3', '3' ]

答案 1 :(得分:0)

var nums = input.split(/\n/).map(function (line) { 
    return line.split(/;/).slice(0,2);
});

给出

[
  ["1","1"],
  ["2","1"],
  ["3","2"],
  ["4","2"],
  ["5","3"],
  ["6","3"]
]

表示多行字符串

1;1; Podkategorija1
2;1; Podkategorija2
3;2; Podkategorija3
4;2; Podkategorija4
5;3; Podkategorija5
6;3; Podkategorija6