##################################### # Token�� �������� ���ڿ� �ڸ��� # ##################################### �ۼ��� : ����ȭ(hhjang97@venus.uos.ac.kr) �ۼ��� : 2004. 10. 20 ������ : 2005. 07. 27 : JDK 1.4�� split() �̿�� �߰� ���� : ���� : token �� �������� ���ڿ��� �и��Ͽ� ����Ѵ�. ################################# ################################# ################################# ################################# # JDK 1.4 ���� split() �̿� ################################# // JDK 1.4 �� split mehtod�� �׽�Ʈ �Ѵ�. public void splitTest(String msg, String regex) { System.out.println("msg :" + msg); System.out.println("regex :" + regex); String[] reArray = msg.split(regex); for (int i=0, max = reArray.length; i<max; i++) { System.out.println("\ti :" + reArray[i]); } } //=========== JDK 1.4 split test String msg1 = "aa,bb,cc"; t.splitTest(msg1, ","); String msg2 = "aa|bb|cc"; t.splitTest(msg2, "[|]"); String msg3 = "aa^bb^cc"; t.splitTest(msg3, "\\^"); String msg4 = "aa.bb.cc"; t.splitTest(msg4, "\\."); ################################# # SplitString Class ################################# // FileName : SplitString.java public class SplitString { /** * ���ڿ��� token �� �������� �ڸ���. * jdk 1.4 ������ split() �� ����ϸ� �ȴ�. * @param str * @param token * @return string[] */ public String[] splitString(String str, String token) { int t=0; int now=0; int next=0; while ( (next = str.indexOf(token,now)) > 0 ) { t= t+1; // xy = newStr.substring(now, next); now = next + 1; } String[] newStr = new String[t+1]; t = now = next = 0; while ( (next = str.indexOf(token,now)) > 0 ) { newStr[t] = str.substring(now, next).trim(); now = next + 1; t= t+1; } if(now == 0) { // ���°�� newStr[0] = str; } else { // ������ �߰� newStr[t] = str.substring(now).trim(); } // System.out.println("now : " + now); // System.out.println("next : " + next); // System.out.println("strlen : " + str.length()); return newStr; } public void splitCoordinates(String str) { int t=0; int now=0; int next=0; String token = " "; String newStr = new StringBuffer(str.trim()).append(token).toString(); String xy = null; while ( (next = newStr.indexOf(token,now)) > 0 ) { t= t+1; xy = newStr.substring(now, next); System.out.println("now-->"+now); System.out.println("["+t+"]"+newStr.indexOf(token,now)); System.out.println("Resutl -->"+xy); now = next + 1; } } public static void main(String[] args) { System.out.println("���ڿ� �ڸ��� ���� "); SplitString split = new SplitString(); String msg = "0,0 20,50 30,540 1,0.1"; split.splitCoordinates(msg); } } ################################# # replace ó�� ################################# private String replace(String str, String from, String to){ String newStr = null; StringTokenizer token = new StringTokenizer(str, from); while(token.hasMoreTokens()){ if(newStr == null) newStr = token.nextToken(); else newStr = newStr+to+token.nextToken(); } return newStr; }