别用StringTokenizer,用最土的办法: String str = "abcd'efg'cd''df";
while ( str.indexOf("'")!=-1 ) {
System.out.println(str.substring(0,str.indexOf("'")));
str = str.substring(str.indexOf("'")+1);
}
System.out.println(str);
while ( str.indexOf("'")!=-1 ) {
System.out.println(str.substring(0,str.indexOf("'")));
str = str.substring(str.indexOf("'")+1);
}
System.out.println(str);
import java.util.*;
import java.text.*;
public class Test {
public static void main(String args[]) throws Exception{
String strLine = "abcd'efg'cd''df";
StringTokenizer strTokenizer = new StringTokenizer(strLine,"\'",true);
String strTmp="";
int i=0;
while ( strTokenizer.hasMoreElements())
{
String s = strTokenizer.nextToken();
if( s.equals(",")) {
System.err.println("strTmp" + (i++) + "=" + strTmp);
strTmp="";
}else
strTmp = s;
}
System.err.println("strTmp" + (i++) + "=" + strTmp);
}
}
而且数组的维数是根据StringTokenizer 分割的数目来做的,对下面的工作来说非常重要.
但是我要把这些字符串放到数组里面,
strTokenizer.countTokens()为9,我要的应该是为5.