Можно ли разделить строку вокруг "." в Яве? - PullRequest
4 голосов
/ 16 января 2011

Когда я пытаюсь разбить строку вокруг вхождения "."метод split возвращает массив строк длиной 0. Когда я разделяю вхождения «a», он работает нормально. Кто-нибудь знает почему? Разве split не должен работать со знаками препинания?

Ответы [ 2 ]

14 голосов
/ 16 января 2011

split принимает регулярное выражение.Попробуйте split("\\.").

2 голосов
/ 13 октября 2011
String a = "a.jpg";
String str = a.split(".")[0];

Это вызовет ArrayOutOfBoundException, потому что split принимает аргументы регулярного выражения и "." является зарезервированным символом в регулярном выражении, представляющим любой символ. Вместо этого мы должны использовать следующее утверждение:

String str = a.split("\\.")[0]; //Yes, two backslashes

Когда код скомпилирован, регулярное выражение известно как "\.", И мы хотим, чтобы оно было

Вот ссылка на мое старое сообщение в блоге на тот случай, если вам интересно .html

...