Группа символов между /* и */ в строке

мне нужно закончить код, так сказать, мне надо сделать массив в котором будут группы символов между /* */ , но при этом не использовать регулярные выражение, у меня код почти закончен, но не при этом, я не могe поместить группы в массив...

int start =0;
int end=0;
int c=0;
String[] result = str.split("");
for (char i : str.toCharArray()) {
    if (result[i].equals("/")&& result[i+1].equals("*") ) {
        start=i;
        c++;
    }
    if (result[i].equals("*")&& result[i+1].equals("/") ) {
        end=i;

    }
}
String[] text=new String[c];

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

String str="jdsdjsjsjsdjsdsjds/1группа/jajsjjajajssja/2группа/sjajajasjsajs";

если говорить грубо, то должен быть массив такой исходя из строки:

String [] arr={"1группа","2группа"};

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

String str="jdsdjsjsjsdjsdsjds/*1группа*/jajsjjajajssja/*2группа*/sjajajasjsajs";

если говорить грубо, то должен быть массив такой исходя из строки:

String [] arr={"1группа","2группа"};

Ответы (1 шт):

Автор решения: Chubatiy
    String str="jdsdjsjsjsdjsdsjds/*1группа*/jajsjjajajssja/*2группа*/sjajajasjsajs";

    //разбиваем строку
    List<String> groups = Arrays.stream(str.split("/"))
            //отбираем начинающиеся на *
            .filter((s) -> s.startsWith("*"))
            //отбираем заканчивающиеся на *
            .filter((s) -> s.endsWith("*"))
            //Убираем символ *
            .map((s) -> s.replace("*", ""))
            //Собираем в список
            .collect(Collectors.toList());
→ Ссылка