有字符串 a,b,c,"a,b",c,d,"e,f",d我想分割成
a
b
c
a,b
c
d
e,f
d
有人知道怎么分割吗?

解决方案 »

  1.   

     "a,b,c,\"a,b\",c,d,\"e,f\",d"
    给你一个思路,你先把这个字符串都转化为字符的数据。
    然后,入栈吧。如果遇到,号就出栈,如果面放的有"号,遇到"才出栈。出的部分,就是你的组成部分了。
      

  2.   


    public static void main(String argv[]) {
      String s="a,b,c,'a,b',c,d,'e,f',d";
      List list = splitMethod(s);
      for(int i=0;i<list.size();i++){
      System.out.println(list.get(i));
      }
    }private static List splitMethod(String s) {
    List list = new ArrayList();
    String[] s1=s.split("'");
      for(String lists:s1){
      if(lists.startsWith(",")||lists.endsWith(",")){
      String [] s2=lists.split(",");
      for(String list2:s2){
      if(!list2.equals("")){
      list.add(list2);
      }
      }
      }else{
      list.add(lists);
      }
      }
    return list;
    }
      

  3.   

    不太了解你的具体需求根据这个split(","|",|(?<!"\\w),")
      

  4.   

    public static void main(String[] args) {
    String str = "a,b,c,\"a,b\",c,d,\"e,f\",d";
    String[] strArr = str.split(",");
    String temp = "";
    int count = 0;
    for (String s : strArr) {
    if (s.indexOf("\"") == 0) {
    temp += s;
    count ++;
    } else {
    if (count > 0) {
    temp += "," + s;
    if (s.indexOf("\"") == s.length()-1) {
    s = temp;
    temp = "";
    count = 0;
    }
    }
    }
    if (count == 0) {
    System.out.println(s);
    }
    }
    }