Почему split на java не работает только с "."?

По логике длинна должна быть 3, но программа выдает 0 без ошибки

public class main {

    public static void main(String[] args) {
        String str = "16.01.23";
        String[] ar = str.split(".");
        System.out.println(ar.length);
    }
}

при это если заменить "." на " ", "/", "-" все остальные варианты работают, подскажите что можно сделать, мне нужно именно разделение по точке


Ответы (1 шт):

Автор решения: Danis

метод split принимает регулярное выражение, а . является специальным символом, поэтому его нужно экранировать

str.split("\\.")
→ Ссылка