public static String[] split(String str, char delim)
{
if(str == null || str.length() == 0)
return new String[0];
Vector v = new Vector();
int i;
while((i = str.indexOf(delim)) >= 0) 
{
v.addElement(str.substring(0, i));
str = str.substring(i + 1);
}

v.addElement(str);
String strs[] = new String[v.size()];
v.copyInto(strs);
return strs;
}

public static String[] split(String str, String delim)
{
if(str == null || str.length() == 0)
return new String[0];
Vector v = new Vector();
for(StringTokenizer tok = new StringTokenizer("X" + str, delim); tok.hasMoreTokens(); v.addElement(tok.nextToken()));
String strs[] = new String[v.size()];
v.copyInto(strs);
strs[0] = strs[0].substring(1);
return strs;
}

解决方案 »

  1.   

    String Items="111,12,3123,1244,7647";
        int i=1;
        while (Items.indexOf(',',i)!=-1){
          i++;
        }
        String[] Item=new String[i+1];
        i=0;
        while (Items.indexOf(',')!=-1){
          Item[i]=Items.substring(0,Items.indexOf(','));
          Items=Items.substring(Items.indexOf(',')+1,Items.length());
          i++;
        }
        Item[i]=Items;
      

  2.   

    namowen(寒号不已) 
     
    请具体指教 用StringTokenizer类的方法?
      
     
      

  3.   

    这样就可以了。
    String Items="111111,222222,333333,444444";
    StringTokenizer strToken=new StringTokenizer(Items,",");
    String[] Item = new String[strToken.countTokens()];
      

  4.   

    int k=0;
    while(strToken.hasMoreTokens())
            {
                strDate[k]=strToken.nextToken();
                k++;
            }
      

  5.   

    String[] item = items.split(",");
      

  6.   

    public int getCount(String str,String sign){//查找某一字符串中str,特定子串s的出现次数
          if(str==null) return 0;
          StringTokenizer s=new StringTokenizer(str,sign);
          return s.countTokens();
      }
    public String[] getArray(String str,String sign){//按特定子串s为标记,将子串截成数组。
        int count=getCount(str,sign);
        int j=0;
        String[] arr=new String[count];
        for(int i=0;i<count;i++){
           if(str.indexOf(sign)!=-1){
                j     =str.indexOf(sign);
                arr[i]=str.substring(0,j);
                str   =str.substring(j+1);
            }else{
                arr[i]=str;
            }
        }
        return arr;}用上面我给你的我自己做的方法就能实现你的问题了。
    如果你要是不明天怎么用,那就在给我短信吧
    第2个方法返回的是一个数据,里面就是分割后的东西。
    String a="888*2222";
    String [] b=new String[getCount(a,"*")];
    b=getArray(a,"*")//
      

  7.   

    String a="888,2222";
    String [] b=new String[getCount(a,",")];
    b=getArray(a,",")//
      

  8.   

    StringTokenizer st = new StringTokenizer   ("111111,222222,333333,444444",",");
    String [] b=new String(countTokens() );
    int i=0;
         while (st.hasMoreTokens()) {
            b[i]= st.nextToken();
            i++
         }
      

  9.   

    /**功能:分割字符串。
       * 返回值:成功则返回数组,否则返回null。
       * 详述:第一个参数为待分割的字符串,第二个为分割符(可为多位字符)。
       */
      public String[] stringSplit(String sourceString, String spliter)
      {
        String S1 = sourceString;
        String S2 = spliter;
        if(S1 == null || S2 == null || S1.equals("") || S2.equals(""))
        {
          return null;
        }
        else if(S1.length() <= S2.length())
        {
          if(S1.equals(S2))
          {
            return null;
          }
          else
          {
            String[] newArray = new String[1];
            newArray[0] = S1;
            return newArray;
          }
        }
        else
        {
          String temp_String1 = "";
          String temp_String2 = "";
          Vector array = new Vector();
          int length = S2.length();
          int max = 0;
          for(int i=0; i<S1.length(); i++)
          {
            max = (i + length >= S1.length()? S1.length():i + length);
            temp_String1 = S1.substring(i, max);
            if(temp_String1.equals(S2))
            {
              if(!temp_String2.equals(""))
              {
                array.addElement(temp_String2);
                temp_String2 = "";
              }
              i += length - 1;
            }
            else
            {
              if(max!=S1.length())
              {
                temp_String2 += temp_String1.substring(0,1);
              }
              else
              {
                temp_String2 += temp_String1;
                array.addElement(temp_String2);
                i += length;
                temp_String2="";
              }
             }
          }
          String[] returnArray = new String[array.size()];
          array.copyInto(returnArray);
          return returnArray;
        }
      }
      

  10.   

    coolskeeter(蚊子) 的方法最简便。
      

  11.   

    使用StringTokenizer,要小心对
    String Items="111111,222222,333333,,,444444";
    的解析.
      

  12.   

    to Tmsheng(小唐蔡) 
    Vector array = new Vector();  //怎么理解?