增强J2ME的String能力——分割字符串(附源代码)

发表于:2007-07-01来源:作者:点击数: 标签:
从JDK1.4以后,String类中新增了split方法来实现字符串的分割,但是在J2ME中却没有该方法( MI DP2.0中也没有实现),但是在实际使用过程中,有些时候的确要用到这种操作,这里将我以前实现的一段代码和大家共享,不足之处大家多提意见和建议: /** * 分割字符
从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;

}


原文转自:http://www.ltesting.net