Dlaczego w poniższym przykładzie dane wyjściowe to []
, a nie [1]
?Dzielenie łańcucha z symbolem potoku jako separatorem
String input="1|2|3";
String[] values= input.split("|");
System.out.println("[" + values[0] + "]");
// Output: []
Jednakże, jeśli zmienimy separator, wyjście to [1]
.
String input="1;2;3";
String[] values= input.split(";");
System.out.println("[" + values[0] + "]");
// Output: [1]
'split (String) '' zajmuje regex ciąg' i jako takie '|' interpretowane jest jako "regex lub", więc nic nie dzieli. powinieneś przetestować, uciekając '|' i sprawdzając, czy wartości 'wartości' –
podzieli każdy znak plus początkowy pusty ciąg znaków –