split( ) 메소드와 StringTokenizer 클래스 비교
사용 예제 ) 코드를 복붙 하여 실행 해 보시기 바랍니다. 설명은 코드 아래 부분에 있습니다.
먼저 split( ) 예제 입니다.
import java.util.StringTokenizer;
public class Sample {
public static void main(String[] args) {
///////////////// 문자열 을 잘라서 배열로저장 예제
//////////////// split()
String strHi = "영희는:철수를%싫어#합니다.";
String[] strArrResult = strHi.split("[:%#]");//정규표현식 사용가능
//정규 표현식이 아닌 하나만 사용할때는
//String[] strArrResult = strHi.split(":");
for(int i=0; i<strArrResult.length; i++) {
System.out.printf("strArrResult[%d] : [%s]\n",i,strArrResult[i]);
}
}
}
//결과는 :
//strArrResult[0] : [영희는]
//strArrResult[1] : [철수를]
//strArrResult[2] : [싫어]
//strArrResult[3] : [합니다.]
StringTokenizer 클래스 예제 입니다.
import java.util.StringTokenizer;
public class Sample {
public static void main(String[] args) {
///////////////// 문자열 을 잘라서 배열로저장 예제
//////////////// split()
String strHi = "영희는:철수를%싫어#합니다.";
String[] strArrResult = strHi.split("[:%#]");//정규표현식 사용가능
for(int i=0; i<strArrResult.length; i++) {
System.out.printf("strArrResult[%d] : [%s]\n",i,strArrResult[i]);
}
///////////////// 문자열 을 잘라서 배열로저장 예제
//////////////// stringTokenizer 클래스
String strTrue = "철수는 / 영희를 / 싫어 / 합니다.";
StringTokenizer st = new StringTokenizer(strTrue, "/");
int nCount = st.countTokens();
for(int i=0; i<nCount; i++) {
String strImsi = st.nextToken();
System.out.println(strImsi);
}
st = new StringTokenizer(strTrue, "/");
while( st.hasMoreTokens() ) {
String strImsi = st.nextToken();
System.out.println(strImsi);
}
}
}
//결과는 :
//strArrResult[0] : [영희는]
//strArrResult[1] : [철수를]
//strArrResult[2] : [싫어]
//strArrResult[3] : [합니다.]
//철수는
// 영희를
// 싫어
// 합니다.
//철수는
// 영희를
// 싫어
// 합니다.
기능은 비슷해 보이나 split( ) 만 주로 사용 하고 있습니다.
StringTokenizer 클래스 는 정규표현식을 사용할수 없고
사용하기전 예비 동작(생성자 생성 등) 이 너무많고 번거롭습니다.
코딩을 하면서 굳이 사용 해야 되나를 다시 한번 생각하게 됩니다.
구성은 :
문자열배열 = 기존분리할 문자열 . split("구분자" );
그냥 split( ) 사용하는것을 추천드립니다.
아래는 실전 예제 )
//문자열을 배열로 분리해 전달
public class AStringSplit {
String[] strArrOut=null;
public String[] vstrSplit(String strIn,String strSplitFlag) {
strArrOut = strIn.split(strSplitFlag);
for (int i = 0; i < strArrOut.length; i++) {
//System.out.printf("AStringSplit--strArrOut[%d]=[%s]\n", i, strArrOut[i]);
}
return strArrOut;
}
}
설명 끝.
728x90
반응형
'자바' 카테고리의 다른 글
자바 문자열 앞뒤 공백 없애기 trim( ) [북붙따라하기] (0) | 2020.12.29 |
---|---|
자바 문자열에서 문자, 문자열 잘라내기 substring( ) [북붙따라하기] (0) | 2020.12.29 |
자바 문자열 대치(바꿈) replace( ) ,replaceAll ( ) [북붙따라하기] (0) | 2020.12.29 |
자바 문자열 에서 역슬래쉬 (특수문자) [북붙따라하기]2 (0) | 2020.12.29 |
자바 문자열 에서 역슬래쉬 (특수문자) [북붙따라하기]1 (0) | 2020.12.29 |
댓글