Самое простое решение - просто разделить s.substring(1)
на /
, а затем добавить s.charAt(0)
к первому результату.
Кроме этого, поскольку разделенное регулярное выражение не привязано, это будет сложно сделать. Вы бы хотели разделить на «что-то, что не является началом строки, за которым следует косая черта», т. Е. [^^ ]/
, но это будет означать, что символ, предшествующий слешу, также был удален. Чтобы сделать это, вам понадобится негативный взгляд, но я не думаю, что синтаксис поддерживается в регулярных выражениях String.split.
Редактировать: Согласно шаблону javadocs создается впечатление, что Java поддерживает отрицательный взгляд назад , и следующее регулярное выражение может выполнять эту работу:
s.split("(?<!^)/");
Быстрый тест показывает, что это действительно делает то, что вы хотите.