public class MySplit
{
public static void main(String[] args) 
{
String str = "|33|3|2|24|1666|1|";
if (str.startsWith("|"))
str = str.substring(1);
if (str.endsWith("|"))
str = str.substring(0, str.length() - 1);
System.out.println(str);
String[] ary = str.split("\\|");
for(int i = 0; i < ary.length; i++)
System.out.println(i + " = " + ary[i]);
}
}

解决方案 »

  1.   

    多谢回复人: ashes(灰尘) 还有  relive(六道轮回,无想转生) ,问题已经解决!送分中……
      

  2.   

    public static String[] split(String s, String separator)
    {
    if(s == null)
    throw new NullPointerException("source String cannot be null");
    if(separator == null)
    throw new NullPointerException("separator cannot be null");
    if(separator.length() == 0)
    throw new IllegalArgumentException("separator cannot be empty"); ArrayList tmp = new ArrayList();
    int start = 0;
    int separatorLen = separator.length();
    int end = s.indexOf(separator);
    while(end != -1)
    {
    tmp.add(s.substring(start, end));
    start = end + separatorLen;
    end = s.indexOf(separator, start);
    }
    tmp.add(s.substring(start, s.length()));
    String[] result = new String[tmp.size()];
    tmp.toArray(result);
    return result;
    }public static void main(String[] args)
    {
    String[] result = split("|33|3|2|24|1666|1", "|");
    for(int i=0; i<result.length; i++)
    System.out.println(result[i]);
    }
      

  3.   

    //主要的是java.util包的StringTokenizer类
    import java.util.*;
    public class OneSplit{
    public static void main(String[] args){
    String str="|33|3|2|24|1666|1|";
    String[] sa=new String[100];
    StringTokenizer st=new StringTokenizer(str,"|");
    int n=0;
    while(st.hasMoreTokens()){
    sa[n++]=st.nextToken();
    }
    for(int i=0;i<n;i++)
    System.out.println(sa[i]);
    }
    }
      

  4.   

    如果是JDK1.4, 可以使用  String.split () 直接分割啊……
      

  5.   

    用StringTokenizer最方便把 coordinate(什么) 的String[] sa=new String[100];
    换成new String[st.countTokens()];
      

  6.   

    coordinate(什么) 和 shine333(shine) 的方法是可取的。其他的都不好。
      

  7.   

    StringTokenizer会忽略"||"这样的内容,我最初是用StringTokenizer实现,结果"33|3|2|24|||1666|1"拆开后的数组长度是6,不是期望的8