我想用split 方法去分割字符串。
split是用正则表达式去分割的。就是说如果要以"|" 作为分割符,就要写成"\\|".
问题是我的分割符是动态得到的,有可能要加上转义字符,也有可能不用。
所以我不知道在程序中应该怎么处理。

解决方案 »

  1.   

    你先将Java中所有的需要加分隔符的字符保存到一个串里,然后得到动态的分隔符后用indexOf方法搜搜,如果能找到就加转义字符就行了!
      

  2.   

    写个工具类,一旦碰到需要转义的字符,则转义,这些字符集可以用hash表结构
      

  3.   

    String splitStr = "|";
    str = str.split(Pattern.quote(splitStr ));
      

  4.   

    我一直用org.apache.commons.lang
    Class StringUtils
      

  5.   


    很简单,把 JDK 5 中的 Pattern.quote 的源代码复制出来,放到自己的类库中去就可以了。
      

  6.   

    建议从 JDK 6 中找 Pattern.quote 的源代码,JDK 5 中的存在一些小 bug。
      

  7.   

    不知道是不是一定要用split呢,用StringTokenizer也是可以分割的啊