Почему «||». разделяет («\\|» ).length возвращает 0, а не 3?

Когда в выражении разделения есть соседние разделители, я ожидаю, что нуль или пустая строка --не будут устранены.

Код Java ниже:

public class splitter {
    public static void main(String args[]) {
        int size = "||".split("\\|").length;
        assert size == 3 : "size should be 3 and not " + size;
    }
}

Я ожидал получить либо { "", "", "" }, либо { null, null, null }. Любой был бы в порядке.

Возможно, есть регулярное выражение, которое не обманешь пустыми словами?

7
задан tggagne 17 July 2012 в 01:11
поделиться