一个字符串我有一个字符串如下分裂Java中
String s = "3|4||5 9|4 0|0 4 8|..."
,我想基础上,"|"
出现分裂它。因此,分割应返回
["3","4","5 9","4 0,"0 4 8",...]
但是,在Java中,
s.split("|") = [, 3, |, 4, ...]
换句话说,它是由""
性格分裂,它似乎。哪里不对?
一个字符串我有一个字符串如下分裂Java中
String s = "3|4||5 9|4 0|0 4 8|..."
,我想基础上,"|"
出现分裂它。因此,分割应返回
["3","4","5 9","4 0,"0 4 8",...]
但是,在Java中,
s.split("|") = [, 3, |, 4, ...]
换句话说,它是由""
性格分裂,它似乎。哪里不对?
|
字符在正则表达式中具有特殊含义,所以您必须使用反斜杠进行转义。那么你必须逃避Java自身的反斜杠。请尝试:
s.split("\\|")
Javadocs for the Pattern
class有许多关于正则表达式中特殊字符的详细信息。请参阅该页面中的“逻辑运算符”部分,了解|
的功能。
您可以尝试像下面
s.split("[|]")
注意public String[] split(String regex)需要正则表达式。
由于|
是一个元字符,它工作时,你逃脱特殊字符。
String[] results = result.split("\\|");
或(个人建议这个)
String[] result = result.split(Pattern.quote("|"));
如果你用现在Pattern
,|
将被视为正常字符|
而不是正则表达式元char |
。
String.split()需要一个正则表达式,而不是一个普通的字符串。 – Stephan