| 1 25 package org.nemesis.forum.util; 26 27 public class FullStringTokenizer { 28 29 private String string; 30 private String delimiter; 31 32 private int index = 0; 33 private int length = 0; 34 private int delimiterLength; 35 36 public FullStringTokenizer(String string, String delimiter) { 37 this.string = string; 38 this.delimiter = delimiter; 39 delimiterLength = delimiter.length(); 40 length = string.length(); 41 } 42 43 46 public boolean hasMoreTokens() { 47 return (index < length); 48 } 49 50 53 public String nextToken() { 54 String s = this.string; 55 int nextToken = s.indexOf(delimiter, index); 56 if (nextToken < 0) { 58 String tok = s.substring(index,length); 61 index = length; 62 return tok; 63 } 64 else if (nextToken == index) { 65 index += delimiterLength; 67 return ""; 68 } 69 else { 70 String result = s.substring(index, nextToken); 71 index = nextToken + delimiterLength; 72 return result; 73 } 74 } 75 76 79 public static void main(String [] args) { 80 String testString = "||this is|| a test||||of the system||||"; 81 FullStringTokenizer tokens = new FullStringTokenizer(testString, "||"); 82 while(tokens.hasMoreTokens()) { 83 System.out.println("> " + tokens.nextToken()); 84 } 85 } 86 } 87 | Popular Tags |