如题:字符串: str="本田4S店#&$南京西路222号#&$N0003#&$#&$T9001"
获得的数组是[本田4S店,南京西路222号,N0003,,T9001]里面分割符为:#&$
注意里面有空值比如 #&$#&$  --》得到的是null;
来获得其数组[本田4S店,南京西路222号,N0003,,T9001]求使用正则表达式获得!

解决方案 »

  1.   

    String类里面的方法:split
    public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。 
    该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。 例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果: Regex 结果 
    : { "boo", "and", "foo" } 
    o { "b", "", ":and:f" } 
    参数:
    regex - 定界正则表达式 
    返回:
    字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的 
    抛出: 
    PatternSyntaxException - 如果正则表达式的语法无效
    从以下版本开始: 
    1.4 
    另请参见:
    Pattern
      

  2.   


    String str="本田4S店#&$南京西路222号#&$N0003#&$#&$T9001";
    String[] arr=str.split("(#&\\$){1,}");
    System.out.println(Arrays.toString(arr));
      

  3.   

    #3楼:[本田4S店, 南京西路222号, N0003, T9001]
    我要的结果是 [本田4S店,南京西路222号,N0003,,T9001]
    #&$#&$ --》得到的是null, [,,T9001] 
      

  4.   


    String str="本田4S店#&$南京西路222号#&$N0003#&$#&$T9001";
    String str1=str.replace("#&$",",");
    System.out.println(str1);
      

  5.   


    String str="本田4S店#&$南京西路222号#&$N0003#&$#&$T9001";
    String[] arr=str.split("#&\\$");
    System.out.println(Arrays.toString(arr));
      

  6.   


    String str="本田4S店#&$南京西路222号#&$N0003#&$#&$T9001";
    String strs=str.split("#&$");
    for(String s:strs) {
      if(s.trim().equals("")) {
         s=null
    }
    }
      

  7.   

    写错了:String str="本田4S店#&$南京西路222号#&$N0003#&$#&$T9001";
    String strs=str.split("#&\\$");
    for(String s:strs) {
      if(s.trim().equals("")) {
         s=null
    }
    }