1 package com.protomatter.util; 2 3 52 53 import java.util.*; 54 55 62 public class ProtoStringTokenizer 63 { 64 private String string; 65 private int index = 0; 66 private int length = 0; 67 private Dictionary tokens = new Hashtable(); 68 69 73 public ProtoStringTokenizer(String string, String tokens) 74 { 75 this.string = string; 76 this.length = string.length(); 77 String value = ""; 78 for (int i=0; i<tokens.length(); i++) 79 this.tokens.put(new Character (tokens.charAt(i)), value); 80 } 81 82 85 public boolean hasMoreTokens() 86 { 87 return (index < length); 88 } 89 90 93 public String nextToken() 94 { 95 String s = this.string; 96 for (int i=index; i<length; i++) 97 { 98 if (tokens.get(new Character (s.charAt(i))) != null) 99 { 100 String ret = s.substring(index, i); 101 this.index = i +1; 102 return ret; 103 } 104 } 105 String ret = s.substring(index, length); 106 this.index = length; 107 return ret; 108 } 109 110 113 public static void main(String args[]) 114 { 115 if (args.length != 2) 116 { 117 System.out.println("Usage: ProtoStringTokenizer string delim"); 118 System.exit(0); 119 } 120 ProtoStringTokenizer st = new ProtoStringTokenizer(args[0], args[1]); 121 System.out.println("String = '" + args[0] + "'"); 122 System.out.println("Delim = '" + args[1] + "'"); 123 while (st.hasMoreTokens()) 124 { 125 System.out.println("Token = '" + st.nextToken() + "'"); 126 } 127 } 128 } 129
| Popular Tags
|