我的代码:
result ="sub||hi";
String[] results = result.split("||");
我想:
results [0]=sub
results [1]=hi
但我明白了:
result[0]=s
result[1]=u
result[2]=b
result[3]=h
result[4]=s
答案 0 :(得分:12)
使用
String[] results = result.split("\\|");
答案 1 :(得分:5)
请注意,public String[] split(String regex)需要正则表达式。
您需要逃避special char |
转义正则表达式是由\
完成的,但在Java中,\
写为\\
。
替代解决方案,值得一提:
您可以使用public static String quote(String s)“返回指定字符串的文字模式字符串”:
String[] result = result.split(Pattern.quote("|"));
现在,|
将被视为字符 |
,而不是具有特殊含义的正则表达式|
。
答案 2 :(得分:3)
您需要正确转义|
:
String[] results = result.split("\\|");
另一种方法是使用Pattern
:
String[] results = result.split(Pattern.quote("|"));
答案 3 :(得分:1)