Я вижу два пути, чтобы сделать это (и, вероятно, другие): регулярное выражение и группы, или IndexOf и подстроку
1) РегВыр и группы
String input = "Mfr Part#: MBRB1045G Technologie";
Pattern p = Patter.compile("Mfr Part#: ([A-Z0-9]+) (Technologie|Mounting)");
Matcher m = p.matcher(input);
while(m.find()) {
System.err.println("Part number: "+m.group(1)+ "Second part is "+m.group(2);
}
2) IndexOf и подстрока
String prefix = "Mfr Part#: ";
String input = "Mfr Part#: MBRB1045G Technologie";
for (int i= 0;i<input.length();i++) {
int index1 = input.indexOf(prefix);
int index2 = index1+prefix.length();
int index3 = input.indexOf(" ",);
int index4 = input.indexOf(" ", index3+1);
System.err.println("Part number: "+input.substring(index2, index3)
+ "Second part is "+input.substring(index3, index4);
index = index4;
}
Предостережения: Я не запускать его, так что вы, возможно, придется исправить опечатки.
Я бы просто разделился на пространство и взял 3-й элемент. –
@ GilbertLeBlanc добавил эллипсис после «Технолог», он может иметь кратные «части» в каждой строке, в этом случае расщепления недостаточно. – KurzedMetal
Если ему нужно найти строку с этим шаблоном, чтобы затем извлечь часть #, ему понадобится регулярное выражение. Если у него уже есть строка в руке и просто хочет часть #, он может просто использовать split. Мне непонятно, что это так. – alan