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

类别:Java 点击:0 评论:0 推荐:

增强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;

 }

本文地址:http://com.8s8s.com/it/it11197.htm