почему использование split()
в Java работает по-другому?
Я хочу разделить строку версии следующим образом: 1.2.3.4 однако, если я сделаю так: получу пустой массив, если я использую split("\\.")
, он будет работать так, как я ожидал:
String version1 = "1.2.3.4.5";
String version2 = "1.2.3.4.5.6";
String[] v1Arr = version1.split(".");
String[] v2Arr = version2.split("\\.");
System.out.println(Arrays.toString(v1Arr)); // [] why?
System.out.println(Arrays.toString(v2Arr)); // [1, 2, 3, 4, 5, 6]
String version1 = "1-2-3-4-5";
String version2 = "1-2-3-4-5-6";
String[] v1Arr = version1.split("-");
String[] v2Arr = version2.split("\\-");
System.out.println(Arrays.toString(v1Arr)); // [1, 2, 3, 4, 5]
System.out.println(Arrays.toString(v2Arr)); // [1, 2, 3, 4, 5, 6]
Если я поменяю "." чтобы "-" оба работали как положено, почему это происходит? Заранее спасибо!