String Tokenizer issue

2019-09-17 04:58发布

问题:

AM using string tokenizer to delimit the string response by ^

12/30/2011 12:00:00 AM^President^^^159^True^True^True^True^True^False^False^True^True^3/18/2011 12:00:00 AM^True^Jujama, Inc.^^^^True^True

but the problem is when ^ delimiter consecutively its skipping that one and adding in to array. But i want to add space if two ^delimiters comes.

How to do that?

My code is:

 StringTokenizer tokens = new StringTokenizer(partId, "^");

              while(tokens.hasMoreTokens()){

                 String value=tokens.nextToken();
                 userValues.add(value);
                 System.out.println("..."+value);

              }   

回答1:

User string.split("^") instead. Split receives regex, so you can do almost what you want within one line.



回答2:

Check out StringUtils from Apache:

http://commons.apache.org/lang/api-2.3/org/apache/commons/lang/StringUtils.html#splitPreserveAllTokens(java.lang.String, char)