2017-05-14 22 views
0

有一個字符串,我試圖用「|」解析,符號:解析一個字符串並不像預期的那樣工作

1-20 | 21-40 | 41-60 | 61-80 | 81-100 | 101-120 | 121-131

String[] arr = text.split("|"); 

for(int i = 0; i <arr.length; i++){ 
    System.out.println(arr[i]); 
} 

它解析到每一個人物,像

1 
- 
2 
0 
| 
2 
1 
... 

如何解析源字符串對於類似的元件:

1-20

+1

逃生分割字符串管:' 「\\ |」' – AntonH

回答

1

|是Java的正則表達式語法的特殊字符,這意味着一個邏輯「或」兩者之間的匹配組。如果你想匹配的|文字,你需要逃避它:

String[] arr = text.split("\\|"); 
0

|正則表達式(S)特殊字符,你需要逃脫它。像,

String[] arr = text.split("\\|"); 
0

|是在正則表達式一個metacaracter。退出:

String[] splitValues = text.split("\\|"); 
0

逃生使用"\\|"

String[] arr = text.split("\\|"); 
相關問題