Получить из строки подстроку (Java)

У меня есть строка типа

Document || {{sfsdf32423dscsdc,, Vsemprivet, Type=5, zaranee spasibo, dcdscsd435345=[]}}

Длина строки может быть разная, но в ней всегда будет Type=X, где X это числовое значение. Мне нужен стринговый X. Использовать можно только стандартные библиотеки Java 8.


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

Автор решения: Barmaley

regex здесь это как из пушки по воробьям. Судя по постановке вопроса интересует именно реализация стандартными/алгоритмическими средствами. Коли так, то путь примерно такой:

  1. Сначала ищем строку Type=, int typeIndex=s.indexOf("Type="); в этом случае typeIndex будет содержать начальный индекс слова Type= (первый который встретится)
  2. Далее ищем первую запятую после индекса typeIndex: commaIndex=s.indexOf(',', typeIndex);
  3. Искомое выражение X находится после окончания Type= и запятой, положение которой показывает commaIndex: xSubstring=s.substring(typeIndex+"Type=".length(), commaIndex);

Надеюсь ТС дальше уже сам закодирует, обложив код проверками если нет Type=, если Type= встречается несколько раз, ну и т.д.и т.п.

→ Ссылка