Странное поведение метода split

Рейтинг: 11Ответов: 2Опубликовано: 31.01.2011

Я пытаюсь разбить строчку на массив подстрок - нашел метод split. Но чему бы не была равна строка изначально, всегда возвращается пустой массив.

Код:

String testSplit = "blog.hashcode.ru"; 
String[] result = testSplit.split("."); 
// по идее размер массива должен быть равен трём
System.out.println(result.length());

Результат:

0

Ответы

▲ 9Принят

Это потому, что split работает с regexp

"blog.hashcode.ru".split(Pattern.quote("."))
▲ 5

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

  • экранировать точку (вместо "." написать "\\.");
  • последовать совету @cy6erGn0m .