2013-08-19 4 views
0

reg exp를 사용하여이 텍스트를 분할해야합니다. 지금까지 나는 텍스트를 나눌 수 있었고 나는 ";"로 나눌 수 있었다. using첫 번째로 텍스트 분할; "" 다시 2 등으로 ";"

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 
+0

실제로 어떤 텍스트? – Teemu

+0

var array = fText.replace (/ (\ d;)/g, ""). split ("\ n"); 텍스트를 분할하는 방법 Podkategorija1, Podkategorija2 ... 이제 ";"로 나눌 필요가 있습니다. 그래서 id로 사용하는이 숫자를 얻습니다. – user2599279

+0

흠 ... 어쩌면 당신은 ['split()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/)을 오해했습니다. Global_Objects/String/split) 메소드를 호출합니다. 텍스트에는';'이 없으므로';'로 분리 할 수 ​​없습니다. – Teemu

답변

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' ] 
+0

thxs man 그것이 작동합니다 – user2599279

+1

@ user2599279 그것이 당신을 위해 작동한다면 대답을 받아주십시오, 당신은 사람들이 아직도 받아 들인 해결책을 찾지 못했다고 생각하게 할 것입니다. –

+0

@falsetru sry이 사이트에 새로운 기능이 있습니다. 어떻게 작동하는지 몰랐어요. 지금은 그랬어요. – user2599279

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