В операции split
шаблоном регулярного выражения является разделитель . Например, если шаблон регулярного выражения был ;
, то 12;34;56
будет разделен на 12
, 34
и 56
.
Таким образом, в вашем случае 01234567890
делится на ""
(строка перед 0123
), ""
(строка между 0123
и 4567
) и 890
(остаток строки после 4567
).
Вы, вероятно, не хотите использовать split
, а что-то вроде этого:
Pattern p = Pattern.compile(".{1,4}");
Matcher regexMatcher = p.matcher(messageToSplit);
while (regexMatcher.find()) {
myText.add(regexMatcher.group());
}
.{1,4}
будет соответствовать 4 символам, если это возможно, но обойтись с 1-3, если четыре больше не доступны (что может произойти в конце строки, если его длина не кратна 4).