String.sprlit() 의 사용..
String str = "SELECT * FROM ( "+
" SELECT ROWNUM AS RNUM, A.* FROM( SELECT * FROM EX_TABLE WHERE 1=1"+
" ) A "+
") WHERE RNUM >= 1 AND RNUM < 51";
String[] sss = str.split(" ");
for(String s : sss) {
System.out.println("#" + s + "#");
}
위와 같이 한 후 돌려보면
#SELECT#
#*#
#FROM#
#(#
##
#SELECT#
#ROWNUM#
#AS#
#RNUM,#
#A.*#
#FROM(#
#SELECT#
#*#
#FROM#
#EX_TABLE#
#WHERE#
#1=1#
##
#)#
#A#
#)#
#WHERE#
#RNUM#
#>=#
#1#
#AND#
#RNUM#
#<#
#51#
이런 결과를 얻게된다.
white space 를 기준으로 String을 쪼개고 싶을 때는 아래와 같이 하자!
String str = "SELECT * FROM ( "+
" SELECT ROWNUM AS RNUM, A.* FROM( SELECT * FROM EX_TABLE WHERE 1=1"+
" ) A "+
") WHERE RNUM >= 1 AND RNUM < 51";
String[] sss = str.split("\\s+");
for(String s : sss) {
System.out.println("#" + s + "#");
}
그러면, 아래와 같이 나온다.
#SELECT#
#*#
#FROM#
#(#
#SELECT#
#ROWNUM#
#AS#
#RNUM,#
#A.*#
#FROM(#
#SELECT#
#*#
#FROM#
#EX_TABLE#
#WHERE#
#1=1#
#)#
#A#
#)#
#WHERE#
#RNUM#
#>=#
#1#
#AND#
#RNUM#
#<#
#51#
## 이 놈들이 사라졌다.