2014-02-25 2 views
3

문자열 (줄)을 첫 번째 공백으로 나뉘지만 첫 번째 공백으로 나누고 싶습니다.StringTokenizer는 한 번만 구분됩니다.

StringTokenizer linesplit = new StringTokenizer(line," "); 

예를 들어 "This is a test"를 예로 들어보십시오. 그런 다음 문자열을 "This"및 "test"로 지정합니다. 어떻게하면 StringTokenizer를 사용할 수 있습니까? 아니면 더 좋은 옵션이 있습니까?

String firstPart = line.substring(0, line.indexOf(" ")); 
String secondPart = line.substring(line.indexOf(" ")+1); 

확인 문서 : http://docs.oracle.com/javase/7/docs/api/java/lang/String.html

답변

2

은 당신이 뭔가를 할 수 있습니다. 사용 :

String[] splitted = line.split(" ",2); 

는 '2'매개 변수는 결과 배열의 최대 크기는 당신이에 대한 자신의 논리를 잘해야합니다 2.

2

당신이 그것을 수행 분할

String[] a = s.split("(?<=^\\S+)\\s"); 
5

사항 String.split (패턴, resultlength)를 사용할 수 있습니다

+0

+1 아주 좋은 해결책. 나는 '분할'이 그 능력을 가지고 있다는 것을 깨닫지 못했다. –

+0

"This"및 "is a test"또는 "this"및 "is"가 반환됩니까? – FazoM

+0

@Fazovsky "이것"과 "시험입니다" – pdem

1

있음을 의미합니다. 다음과 같은 내용 :

String[] linesplit = line.split(" "); 
String firstString = linesplit[0]; 
String secondString = new String(); 
for(for int i=1; i< linesplit.length; i++) 
{ 
    if(i==1) 
    { 
     secondString = linesplit[i]; 
    } 
    else if(i != linesplit.length-1) 
    { 
     secondString = seconString + " " + linesplit[i]; 
    } 
    else 
    { 
     secondString = seconString + linesplit[i] + " "; 
    } 
}