user2599279
user2599279

Reputation: 29

split text by 1st ";" and then again by 2nd ";"

i need to split this text using reg exp. so far i managed to split text and i did manage to split by ";" using

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

and result is [ 1;1;2;1;3;2;4;2;5;3;6;3;]

but what i actually need is to split text by only 1st ";" so i get one array which will loook [1,2,3,4,5,6...] and then to split by 2nd ";" so i get array of [1,1,2,2,3,3....]

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

Upvotes: 0

Views: 117

Answers (2)

Tomalak
Tomalak

Reputation: 338376

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

gives

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

for the multi-line string

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

Upvotes: 0

falsetru
falsetru

Reputation: 369424

Try following code:

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]; }));

prints

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

Upvotes: 2

Related Questions