2014-03-03 3 views
1

나는이 코드를 정렬하려고합니다. 따라서 배열을 연령대라고 부르는 배열과 다른 이름을 배열로 분할하려고합니다. 다음은 지금까지 내가 가지고있는 것입니다 :String 배열을 별도의 int 배열과 String 배열로 분할하는 방법은 무엇입니까?

String na = "Jones 14 \nAbrams 15 \nSmith 19 \nJones 9\nAlexander 22\nSmith 20\nSmith 17\nTippurt 42\nJones 2\nHerkman 12\nJones 11"; 
    String text[] = na.split("\\s+"); 

지금까지는 공백으로 배열을 분할합니다. 내 산출물에 연령대 []의 모든 숫자가 있고 이름 []의 모든 단어가 있어야합니다.

+1

데이터 문자열의 정확한 형식입니까? 그럴 경우, 공백에 따라 분할하고, 배열을 반복하며, 짝수 인덱스를'name' 배열에 배치하고, 홀수 인덱스를'age' 배열에 배치합니다. – AntonH

답변

0

시도해보십시오.

String names[] = na.split("\\s*\\d+\\s*"); 
    String ages[] = na.split("\\s*\\D+\\s*"); 

미세 조정해야하지만 아이디어는 괜찮을 것입니다.

1

먼저 줄 바꿈 문자로 분리 할 수 ​​있습니다. lines을 반복하면

String lines = na.split("\n"); 

는 현재 라인에서의 각 필드를 분할하여, 공백, \\s+ 각 라인을 분할.

for (String line : lines) 
{ 
    String[] text = line.split("\\s+"); 
    // other processing 
} 

그런 다음 개별 값에 액세스하여 배열이나 원하는대로 지정할 수 있습니다. 배열 2 개를 저장하는 아이디어는 정상적으로 작동하지만 이름이나 나이와 같은 필드를 포함하도록 정의 된 배열 ListPerson 개체를 만들 것입니다.

관련 문제