好像是|||的问题
换成,,就没问题    String source = "abc,,efg,,dfd";
    String[] s =source.split(",,");
    for(int j=0;j<s.length;j++){
      System.out.println(s[j]);
    }

解决方案 »

  1.   

    试试
    StringTokenizer s=new (source,"|||")
    while(s.hasMoreTokens)
    {
    s.nextToken()
    }
      

  2.   

    原因是String.split( String reg )
    参数使用的是正则表达式,而|是正则表达式中的一个运算符
    为了使用常量|,正则表达式中使用\|,于是其字符串表示为"\\|"
    如下所示:
    public class SplitTest {
    public static void main( String[] args ) {
    String source = "abc|||efg|||dfd";
    String[] s =source.split( "\\|\\|\\|" );
    for( int i = 0; i < s.length; i++ ) {
    System.out.println( s[i] );
    }
    }
    }
      

  3.   

    import java.util.StringTokenizer;public class test {
        public static void main(String[] args) {
        
        String source = "abc|||efg|||dfd";
        StringTokenizer st=new StringTokenizer(source,"|||");     while (st.hasMoreTokens()) {
             System.out.println(st.nextToken());
         }
            System.out.println("this is just a test");
        }
    }
      

  4.   

    import java.util.*;
    import java.io.*;
    public class HelloWorld 
    {
    public static void main(String[] args) 
    {
    Vector tokens=new Vector();
    String source = "abc|||efg|||dfd"; StringTokenizer token = new StringTokenizer(source,"|||");
    while(token.hasMoreTokens())
    {
    tokens.add(token.nextToken());
    }
    //String[] s =source.split("|||");
    for(int i=0;i<tokens.size();i++)
    {
    //System.out.println(s[i]);
    System.out.println(tokens.elementAt(i));
    } System.out.println("Hello World!");
    }
    }
      

  5.   

    source="abc^_^efg^_^dfd"
    String[] s =source.split("^_^");
    for( int i = 0; i < s.length; i++ ) {
    System.out.println( s[i] );
    }
    怎麽也不好用呢?