【问题标题】:Java String.split mehod don't work well [duplicate]Java String.split 方法效果不佳[重复]
【发布时间】:2012-05-24 09:38:11
【问题描述】:

可能重复:
Split string with | separator in java

当我执行以下操作时,我有点困惑:

String example1 = "Hello|World";
String[] splitRes;

splitRes = example1.split("|");

我没有得到拆分字符串
你好索引 0
世界指数1

如果我愿意的话

 String example1 = "Hello:World";  
 String[] splitRes;

 splitRes = example1.split(":");  

然后它工作..
为什么会这样?

【问题讨论】:

标签: java string string-split


【解决方案1】:

split 使用正则表达式,您必须转义管道,因为它是正则表达式中的“或”运算符:

example1.split("\\|");

【讨论】:

    【解决方案2】:

    String.split() 需要正则表达式作为参数,| 是正则表达式中的元字符“OR”。你必须用 \ 转义(所以它变成\|)。请注意,在 Java 字符串中,您必须将其写为 \\,因为 \ 也是 Java 字符串中的转义字符。

    【讨论】:

      【解决方案3】:

      |用于正则表达式,.split 也使用正则表达式,所以需要转义。

      String str = ""Hello:World"; ";
      String[] temp;
      String delimiter = "\\|";
      SepString= str.split(delimiter);
        /* print test */
      for(int i =0; i < SepString.length ; i++)
      System.out.println(SepString[i]);
      

      【讨论】:

        【解决方案4】:

        Split 将正则表达式作为参数,|是一个正则表达式符号。 你必须使用\ 来转义它,在java字符串中是其中两个:\\

        .split("\\|");
        

        【讨论】:

          猜你喜欢
          • 2010-10-22
          • 2011-03-13
          • 2014-04-02
          • 2014-12-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多