一個字符串我有一個字符串如下分裂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