jdk1.3用StringTokenizer 解决: StringTokenizer st = new StringTokenizer("AAA$BBB$CCC$DDD", "$"); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); }
StringTokenizer st = new StringTokenizer(str,"$"); //注意,后面的参数是表示分隔符,且"$%"表示的是$和%都可以是分隔符,并不是两者一起才是分隔符ArrayList al = new ArrayList(); while(st.hasMoreToken()) { al.add(st.nextToken()); } String[] result = new String[al.size()]; al.toArray(result);
"$"之间的字符串长度是变动的,我并不知道它的长度回flyforlove(为情飞) :
我看了1.4的源码,它用的是正则式,这个我太懂......
while (st.hasMoreTokens())
{
System.out.println(st.nextToken());
}
//注意,后面的参数是表示分隔符,且"$%"表示的是$和%都可以是分隔符,并不是两者一起才是分隔符ArrayList al = new ArrayList();
while(st.hasMoreToken()) {
al.add(st.nextToken());
}
String[] result = new String[al.size()];
al.toArray(result);
String str1 = "AAA$BBBB$CC$DD";int i = 0,j=0;
Vector vt = new Vector();
for(int x=0 ;x<str1.length();){
i = str1.indexOf("$");
if(i!=-1) {
vt.add(str1.substring(0,i);
str1 = str1.substring(i+1,str1.length());
x+=i;
}else
{
if(str1.length()>0) vt.add(str1);
x+=str1.length();
}}
赶紧试试