增強J2ME的String能力——分割字串(附原始碼)
作者:陳躍峰
出自:http://blog.csdn.net/mailbomb
從JDK1.4以後,String類中新增了split方法來實現字串的分割,但是在J2ME中卻沒有該方法(MIDP2.0中也沒有實現),但是在實際使用過程中,有些時候的確要用到這種操作,這裡將我以前實現的一段代碼和大家共用,不足之處大家多提意見和建議:
/**
* 分割字串,原理:檢測字串中的分割字串,然後取子串
* @param original 需要分割的字串
* @paran regex 分割字串
* @return 分割後產生的字串數組
*/
private static String[] split(String original,String regex)
{
//取子串的起始位置
int startIndex = 0;
//將結果資料先放入Vector中
Vector v = new Vector();
//返回的結果字串數組
String[] str = null;
//儲存取子串時起始位置
int index = 0;
//獲得匹配子串的位置
startIndex = original.indexOf(regex);
//System.out.println("0" + startIndex);
//如果起始字串的位置小於字串的長度,則證明沒有取到字串末尾。
//-1代表取到了末尾
while(startIndex < original.length() && startIndex != -1)
{
String temp = original.substring(index,startIndex);
System.out.println(" " + startIndex);
//取子串
v.addElement(temp);
//設定取子串的起始位置
index = startIndex + regex.length();
//獲得匹配子串的位置
startIndex = original.indexOf(regex,startIndex + regex.length());
}
//取結束的子串
v.addElement(original.substring(index + 1 - regex.length()));
//將Vector對象轉換成數組
str = new String[v.size()];
for(int i=0;i<v.size();i++)
{
str[i] = (String)v.elementAt(i);
}
//返回產生的數組
return str;
}