65.9K
CodeProject 正在变化。 阅读更多。
Home

字符串分割器

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.07/5 (14投票s)

2003年3月10日

CPOL
viewsIcon

109241

一个用户自定义的字符串分词器 (Java)。

引言

这是一个简单的程序,通过提供分隔符字符串来分割字符串。 当我想使用像“[XX]”这样的分隔符与JDK的Split函数时遇到了问题,因此我在这里编写了一个简单的版本。 此材料主要面向初学者。 我在写完后立即发布了它,因此我还没有彻底检查这段代码,但我认为strSplit函数应该可以完美运行。

public class StrSplit { 

  public static String[] strSplit (String _str, String _x) {
    Vector _v = new Vector();
    String _stmp = new String();
    int i=0,j=0,cnt=0;
    while ((i=_str.indexOf(_x,i))!=-1) {
      cnt++;
      if (cnt%2==1) {
        i = j = i+_x.length();
        continue;
      }
      _stmp = _str.substring(j,i);
      _v.add(_stmp);
      _stmp = new String();
      j = i+_x.length();
    }
    if (j < _str.length()-1) {
      _stmp = _str.substring(j,_str.length());
      _v.add(_stmp);
    }
    String[] _array = new String[_v.size()];
    for (int k=0;k<_array.length;k++)
      _array[k] = new String(((String)_v.elementAt(k)).trim());
    return _array;
  } 

  /** Test **/
  public static void main(String s[]) {
    StrSplit tt=new StrSplit();
    String array[];
    array=tt.strSplit("[STR] Rank bagus manis [STR] Grade A CC BBB","[STR]");
    for(int i=0;i<array.length;i++)
    System.out.println(array[i]);
  }
}
© . All rights reserved.