比如字符串“abcd:efg:hig?:klmn”
分隔成
“abcd”
“efg”
“hig?:klmn”
但是字符串“abcd:efg:hig??:klmn”
分隔成
“abcd”
“efg”
“hig??”
“klmn”
以次类推
字符串“abcd:efg:hig???:klmn”
分隔成
“abcd”
“efg”
“hig???:klmn”总之,奇数个问号后面的“:”不起分隔作用,偶数个问号后面的“:”起分隔作用。
不知有没有好的方案?

解决方案 »

  1.   

    可以实现分隔,但是偶数个问号同时也被当作分隔符号了
    对于第二种是:
    “abcd”
    “efg”
    “hig”
    “klmn”
      

  2.   


    String delim="###";//设置新的分隔符,你的字符串中不要出现这个!
    String s="abcd:efg:hig???:klmn";
    String[] arr=s.replaceAll("[^\\?](((\\?)\\3)*):","$1"+delim).split(delim);
      

  3.   

    好像不对阿
    结果是:
    abc
    ef
    hig???:klmn
      

  4.   

    不好意思,改一下就可以了
    String delim="###";//设置新的分隔符,你的字符串中不要出现这个!
    String s="abcd:efg:hig???:klmn";
    String[] arr=s.replaceAll("([^\\?]((\\?)\\3)*):","$1"+delim).split(delim);