ABCD 800 / 900 /   1200       / 1400 1500
用split分割后变为:
ABCD
800
900
1200
1400
1500正则怎么写?

解决方案 »

  1.   



    final String input = "ABCD 800 / 900 / 1200 / 1400 1500";
    final String regex = "\\s/\\s|\\s";
    final String[] result = input.split(regex);
      

  2.   

    String s = "ABCD 800 / 900 / 1200 / 1400 1500";
    String[] sa = s.split("\\s*[/]\\s*|\\s+");
    System.out.println(Arrays.toString(sa));
      

  3.   

    String s = "ABCD 800 / 900 / 1200 / 1400 1500";
    String[] sa = s.split("\\s*[/]\\s*|\\s+");
    System.out.println(Arrays.toString(sa));
      

  4.   

    抱歉,原字符串是这样的ABCD  800    / 900 /1200      / 1400    1500
      

  5.   

    可以优化一下正则:final String regex = "(?:\\s/)?\\s";
      

  6.   


    String str = "ABCD 800 / 900 / 1200 / 1400 1500";
    for(String s : str.split("\\s/?\\s?"))
    System.out.println(s);
      

  7.   

    我觉得 regex = "[A-Z]+|[0-9]+"这样比较容易理解?
      

  8.   

    [Java code]
     String[] sa = s.split("(\\s*[/]\\s*)|\\s+");
    [/Java code]
      

  9.   

     
                           String str = "ABCD 800 / 900 / 1200 / 1400 1500" ;

    Pattern p =Pattern.compile("\\s/\\s|\\s");
    String[] m = p.split(str);
    for(String i :m) {
    System.out.println(i);
    }
       }
      

  10.   

    没注意格式 /^\s+\/\s+$|^\s+$/
      

  11.   

    String s[] = str.split("\\s*/*\\s+");
      

  12.   

    "ABCD 800 / 900 / 1200 / 1400 1500".split("\\W+");
    "ABCD" "800" "900" "1200" "1400" "1500"