Split String с. (Dot) символом java android

Привет друзья, у меня есть строка, как

Android_a_b.pdf

Я хочу разбить его, как Android_a_b и pdf

я пытаюсь использовать следующий код:

String s="Android_a_b.pdf"; 
String[] parts = s.split(".");
String part1 = parts[0];  
String part2 = parts[1];  

когда я запускаю код выше, он дает мне ошибку, как

11-05 09:42:28.922: E/AndroidRuntime(8722): Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0

в String part1 = parts[0]; линия

любая идея, как я могу ее решить?

Ответ 1

Вам нужно убежать . используя \

Например:

String s="Android_a_b.pdf";
String[] parts = s.split("\\."); // escape .
String part1 = parts[0];
String part2 = parts[1];

Теперь он будет разделяться .

Split (regex) в Java

Разделяет эту строку вокруг совпадений данного регулярного выражения.

Этот метод работает как бы путем вызова метода разделения с двумя аргументами с заданным выражением и предельным аргументом нуля. Поэтому конечные пустые строки не включаются в результирующий массив.

Имейте в виду, что

Параметры: регулярное выражение - ограничивающее регулярное выражение