Вы можете удалить символы, не цифры, как это:
String s = "pistol . <1/10>";
String[] numbers = s.replaceAll("^\\D+","").split("\\D+");
Теперь numbers[0]
является 1
и numbers[1]
является 10
.
s.replaceAll("^\\D+","")
удаляет НЕРАСПРОСТРАНЕНИИ значные символы в начале строки, так что новая строка теперь "1/10>"
.split("\\D+")
расщепляется на не цифровых символов (в данном случае /
и >
) и игнорирует замыкающие пустые строки, если любой
в качестве альтернативы, если формат всегда точно так, как вы упомянули в вашем вопросе, вы можете посмотреть на этой конкретной Патти р-н:
private final static Pattern CLIP_AMMO = Pattern.compile(".*<(\\d+)/(\\d+)>.*");
String s = "pistol . <1/10>";
Matcher m = CLIP_AMMO.matcher(s);
if (m.matches()) {
String clip = m.group(1); //1
String ammo = m.group(2); //10
}
http://docs.oracle.com/ javase/1.5.0/docs/api/java/lang/String.html # substring (int, int) – rajesh