我希望将三个或者三个以上连着的空格作为分割符。
如下这段代码不能实现这个需求,请问可以做何修改?
谢谢!! String s = "GXDRIS11                  CPDMB5                                                                            XOLJDB2                                                                           940614       Y          Y           Y";
String[] ss = s.split(" ");

解决方案 »

  1.   


    String s = "dGXDRIS11                  CPDMB5                                                                            XOLJDB2                                                                           940614       Y          Y           Y";
            String[] ss = s.split("\\s{3,}?");这样就实现了用至少三个空格等来分隔。用java的正则表达式知识。
      

  2.   

    上面的稍微有点问题,楼主说的是用三个或三个以上的空格来分隔。而上面的是用三个或三个以上的空白符分隔,包括了回车,换行等。所以改成下面的就可以了: String[] ss = s.split(" {3,}?");
      

  3.   

    我刚试过了,不是我想要的结果。
    String s = "GXDRIS11                  CPDMB5                                                                            XOLJDB2                                                                           940614       Y          Y           Y";
    String[] ss = s.split(" {3,}?");
    System.out.println("[ss[0] =" + ss[0] + "]");
    System.out.println("[");
    for (String string : ss) {
    System.out.println(string);
    }
    System.out.println("]");我想要得输出为:
    GXDRIS11
    CPDMB5
    XOLJDB2
    940614
    Y
    Y
    Y谢谢!
      

  4.   

    String ss = "GXDRIS11                  CPDMB5                                                                            XOLJDB2                                                                           940614       Y          Y           Y";
            String[] sss = ss.split(" {3,}?");
            for (String string : sss) {
             if(string.trim().length()>0)
                 System.out.println(string.trim());
            }
      

  5.   

     String[] ss = s.split("\\s{3,}?");
      

  6.   

    public class Test
    {
    public static void main(String[] args)
    {
    String s = "GXDRIS11    CPDMB5    XOLJDB2           940614      Y        Y         Y";
    String[] ss = s.split(" {3,}?");
    for(int i = 0; i < ss.length; i++)
    {
    if(!"".equals(ss[i]))
    {
    System.out.println(ss[i].trim());
    }
    }


    }}
      

  7.   


    String s = ....
    s = s.repaceAll(" ",";");
    String[] str = s.split(";");
      

  8.   


    String [] ss = str.split(" {3,}");
      

  9.   

    这个写错了,少了个正则表达式,呵呵,
    应该是String s = ....
    s = s.repaceAll("\\s{1,}",";");
    String[] str = s.split(" ");现在就能达到你的效果了
    -------------------------------
     java菜鸟学堂QQ群144648357
      

  10.   

    学习下REL就神马都不是问题了