String s="fdsaf,fdsew,fwio,oijf";
StringTokenizer st=new StringTokenizer(s,",");//其中逗号可用任意多个其它字符代替,如",;'"等
String str=null;
while(st.hasMoreToken()){
str=st.nextToken();
}
StringTokenizer st=new StringTokenizer(s,",");//其中逗号可用任意多个其它字符代替,如",;'"等
String str=null;
while(st.hasMoreToken()){
str=st.nextToken();
}
int index = 0;
boolean matchLimited = limit > 0;
ArrayList matchList = new ArrayList();
Matcher m = matcher(input); // Add segments before each match found
while(m.find()) {
if (!matchLimited || matchList.size() < limit - 1) {
String match = input.subSequence(index, m.start()).toString();
matchList.add(match);
index = m.end();
} else if (matchList.size() == limit - 1) { // last one
String match = input.subSequence(index,
input.length()).toString();
matchList.add(match);
index = m.end();
}
} // If no match was found, return this
if (index == 0)
return new String[] {input.toString()}; // Add remaining segment
if (!matchLimited || matchList.size() < limit)
matchList.add(input.subSequence(index, input.length())); // Construct result
int resultSize = matchList.size();
if (limit==0)
while (resultSize > 0 && matchList.get(resultSize-1).equals(""))
resultSize--;
String[] result = new String[resultSize];
return (String[])matchList.subList(0, resultSize).toArray(result);
}
return split(input, 0);
}JDK上的源码
split(CharSequence input)??不明白啊。
用StringTokenizer这个类来实现,例:
/*
* Created on 2004-7-5
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package temp;import java.util.StringTokenizer;/**
* @author wx
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class Temp { public static void main(String[] args) {
String str = "one#tow#three#four";
StringTokenizer st = new StringTokenizer(str, "#");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}