从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
{
str[i] = (String)v.elementAt(i);
}
//返回生成的数组
return str;
} |