【问题标题】: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("\\|");