Ну, технически, есть пустая строка перед первым разделителем (первая последовательность цифр).Если у вас есть, скажем, строка CSV, например, abc,def,ghi
, а другая - ,jkl,mno
, вы бы явно хотели знать, что первое значение во второй строке было пустой строкой. Таким образом, поведение является желательным в большинстве случаев.
В вашем конкретном случае вам нужно разобраться с ним вручную или каким-либо образом улучшить свое регулярное выражение.Например, вот так:
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(rtString);
if (m.find()) {
List l_operators = Arrays.asList(p.split(rtString.substring(m.end()).trim()));
// ...
}
В идеале, вы должны использовать парсер для этих типов строк.Например, вы не можете иметь дело с круглыми скобками в выражениях, используя только регулярные выражения.