2014-11-24 5 views
1

У меня есть строка вроде этого: meetingDes32-2 (или meetingDes55-5 или meetingDes354-74, например). Мне нужно извлечь номер между текстом meetingDes и -2. В этих 3 примерах мне нужны: 32, 55 и 354.Извлечение числа между строкой и другой строкой в ​​Java Regex

Я новичок в регулярных выражениях.

спасибо.

+0

- это номер всегда между «meetingDes» и «-»? – duffy356

+0

В ваших строках содержатся * только * 'meetingDes32-2' и т. Д., Или это часть большей строки? – Boann

+0

yes Boann thexx исправлен, единственная часть, которая может измениться, - это цифры 32-2 или 42-25, и мне нужна первая часть чисел, прежде чем в этом случае «-2» и «-25» – user1646916

ответ

2

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

String s = "meetingDes32-2"; 
int num = Integer.parseInt(s.replaceAll("meetingDes|-.*", "")); 
System.out.println(num); // 32 
2

Другим подходом, если вы найдете регулярные выражения трудно:

int end = indexOf('-'); 
int startIndex = 10; 
String result = meetingDesString.substring(startIndex ,end);