разбить строку в массив с помощью |
, получить третий элемент и удалить все после последнего пробела;
String s = "Office|High| eventId=285469322819 MMTT type=2";
s = s.split("\\|")[2].trim().replaceAll("[^ ]*$", "").trim();
EDIT:
Основываясь на том, что ОП приведены в комментарии и предполагая «type` всегда третье слово.
str = str.split("\\|")[2].replaceAll("type.*", "").trim() ;
EDIT 2: Требование снова изменилось:
String str = "-High Upload Observed|High| eventId=285475664495 MMTT type=2 mrt=1482650158658 in=104858769 out=104858769 sessionId=0 generatorID=3+ACVIFkBABCAA951mZ0UyA\\=\\= modelConfidence=0 severity=0\" output : eventId=285475664495 MMTT type=2 mrt=1482650158658 in=104858769 out=104858769 sessionId=0 generatorID=3+ACVIFkBABCAA951mZ0UyA\\=\\= modelConfidence=0 severity=0";
Pattern p = Pattern.compile("[^ ]+=[^ ]+");
Matcher m = p.matcher(str.split("\"")[0]);
while (m.find()) {
System.out.println(m.group());
}
производит:
eventId=285475664495
type=2
mrt=1482650158658
in=104858769
out=104858769
sessionId=0
generatorID=3+ACVIFkBABCAA951mZ0UyA\=\=
modelConfidence=0
severity=0
Признаюсь MMTT
отсутствует в первой, но о хорошо.
«Может кто-то мне помочь» => Конечно, мы можем. Покажите нам свой код, сообщите нам, где он не сможет получить ожидаемый результат, и мы охотно поможем вам исправить его. – Seelenvirtuose
'String str =" -High Upload Observed | High | eventId = 285475664495 MMTT type = 2 mrt = 1482650158658 in = 104858769 out = 104858769 sessionId = 0 generatorID = 3 + ACVIFkBABCAA951mZ0UyA \ = \ = modelConfidence = 0 severity = 0 "' нужно извлечь атрибуты 'выход: EventID = 285475664495 ММТТ тип = 2 MRT = 1482650158658 в = 104858769 из = 104858769 SESSIONID = 0 generatorID = 3 + ACVIFkBABCAA951mZ0UyA \ = \ = modelConfidence = 0 severity = 0' –
@Mohan Лучше обновите вопрос и четко укажите, что вещи, которые будут одинаковыми в строке (если есть) – GurV