File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
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
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "A problem/feature with StringTokenizer" Watch "A problem/feature with StringTokenizer" New topic

A problem/feature with StringTokenizer

Aniruddha Bhattacharya

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()) {

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.
Lukasz Bamburski

Joined: Aug 14, 2006
Posts: 11

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'.


I agree. Here's the link:
subject: A problem/feature with StringTokenizer
It's not a secret anymore!