Легкий вопрос - вероятно - но я не нахожу решение без обходного пути. < /p>
Я хочу проанализировать STH. Как < /p>
1) item1;; item3
2) item1;item2;
3) ; item2;
4) ;;
...
< /code>
У меня есть функция сопоставления, которая соответствует и возвращает все элементы в данном индексе как StringList: < /p>
public static List getAllMatchings(String input, String reg, int groupIndex) {
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(input);
List ls = new ArrayList();
while (matcher.find()) {
if (groupIndex
Теперь, имея такую строку, я хочу иметь Stringlist, такой как {"item1", "item2", "item3"}. Но я получаю - используя мое решение - {"item1", "item2", "item3", ""}: < /p>
List strList = getAllMatchings(line, "([^;]*)(;|\\z)",1);
< /code>
И, таким образом, я должен сделать уродливый обходной путь: < /p>
strList.remove(strList.size()-1);
< /code>
Не очень хорошо. Но я не нахожу решение для этой проблемы. Может ли кто -нибудь помочь мне? Есть случай, когда этот обходной путь не работает. Случай 4) дает мне только 2 пустых элемента.
Подробнее здесь: https://stackoverflow.com/questions/152 ... nd-of-line