aspose file tools*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes A problem/feature with StringTokenizer Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "A problem/feature with StringTokenizer" Watch "A problem/feature with StringTokenizer" New topic
Author

A problem/feature with StringTokenizer

Aniruddha Bhattacharya
Greenhorn

Joined: Mar 03, 2006
Posts: 6
Hello All,

I am sorry for the previous incomplete message. Please follow this.

This is one problem or you can call it a feature of StringTokenizer class that i would like to discuss with all. If we consider the line of code,

String testString = "test1-test2";
StringTokenizer st = new StringTokenizer(testString, "-");
while(st.hasMoreToken()) {
System.out.println(st.nextToken());
}

This will print test1 and test2.

The problem is that if we give the token as -------- (no of -) the result remains unchanged. Thus if we have the code :

StringTokenizer st = new StringTokenizer(testString, "--------");
the result will still be test1 and test2.

The reason for the same being that the token string is a AND combination rather than being an unique token in itself.

If we give the code as:

StringTokenizer st = new StringTokenizer(testString, "s1");

the result is te, t, -te, t2.

The way out to avoid the problem is using the split() method of String class. Can some one discuss the problem in more details and provide some more alternatives about tokenizing and implementation of split().

Thankz in advance.
Aniruddha.
Lukasz Bamburski
Greenhorn

Joined: Aug 14, 2006
Posts: 11
Hello,

In constructor of StringTokenizer(stringToSearch, delimiterString) ,
every char from delimiterString could be a delimiter, not whole delimiterString, so in case of "------" delimiter could be '-' or '-' and so on.So "----" is the same as "-". delimiterString "s1" means that delimiter will be 's' or '1'.

Regards


LB
 
jQuery in Action, 2nd edition
 
subject: A problem/feature with StringTokenizer