String str = "1|2|3";
StringTokenizer st = new StringTokenizer(str,",");
while (st.hasMoreTokens()) {
  System.out.println(st.nextToken());
}
结果:
1
2
3

解决方案 »

  1.   

    StringTokenizer可以实现这个要求,但是如果你经常需要用到这个字符串分割的话还是建议自己写一个函数,因为StringTokenizer这个类他提供的是通用的解决方案,也就是大而全的,速度很慢,我做过测试,自己写的类比StringTokenizer类的速度可以快上7倍。这在机械工业出版社出版的《JAVA技术精髓》里面有提到。
      

  2.   

    楼上的方法OK只不过
    StringTokenizer st = new StringTokenizer(str,",");应该该成为
    StringTokenizer st = new StringTokenizer(str,"|");
      

  3.   

    String s = null;
    String[] str = null;
    char c;
    int position = 0;
    int num = 0;for (int i = 0; i < str.length(); i++)
    {
      c = str.charAt(i);
      if (c == '|')
        num++;
    }for (int i = 0; i < num; i++)
    {
      position = str.indexOf("|");
      if (position > 0)
      {
        s = str.substring(0,position);
        str = str.substring(position + 1,str.length())
      }
      str[i] = s;
    }
      

  4.   

    JDK1.4里面可以这样String str="1|2|3";
    String str1[] = str.split('|');
      

  5.   

    String str="1|2|3";
    StringTokenizer tokens = new StringTokenizer(str, "|");
    然后用一个数组取出tokens里边的元素就可以了。
    还有楼上的仁兄,这个方法好像没见过哦,是不是最新版本加入的啊?
      

  6.   

    估计Mailbomb(网络咖啡)老兄自己修改了类库。哈哈
      

  7.   

    如果你用的是j2se1.4版本的话,那就很简单了。
    import java.util.regex.*;Pattern p = Pattern.compile("\|");
    String[] strAry = p.split("1|2|3");那么
    strAry[0]=1;
    strAry[1]=2;
    strAry[2]=3;