J2ME分割字符串

从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;

}

你可能感兴趣的:(j2me)