第一件事,第一,這裏是我的代碼:爲什麼不在此代碼尊重我的最後的分割模式
String line = "Events|1005435529|7021370073||PAGELOAD|2017-06-19T12:04:40||JI||ServerHostName|ServerIPAddress|9P2_D2jB9Toct7PDTJ7zwLUmWfEYz6Y4akyOKn2g4CepveMH4wr3!46548593!1497854077121|||||||||||";
int offset = line.indexOf("Events");
String zeroIn = line.substring(offset);
String[] jsonElements = zeroIn.split("\\|");
System.out.println(Arrays.asList(jsonElements));
輸出:
[Events, 1005435529, 7021370073, , PAGELOAD, 2017-06-19T12:04:40, , JI, , ServerHostName, ServerIPAddress, 9P2_D2jB9Toct7PDTJ7zwLUmWfEYz6Y4akyOKn2g4CepveMH4wr3!46548593!1497854077121]`
我也注意到空間添加到每個數組元素開始。
我的問題是我在字符串line
的末尾有將近10個空管道符號,而空管線符號的第一個第二和第三個出現受到尊重,最後一個被錯過並且不加在陣列。我在這裏錯過什麼?
你已經得到了有關空元素的答案。要回答另一個問題,*沒有爲每個數組元素添加額外的空格。它只是*打印*,以提高可讀性。如果您打印單個元素,則會看到開頭處沒有空格。您還可以通過觀察輸出中的第一個元素「事件」來看到這一點。 – domsson