У меня есть эта длинная строка:фильтра и найти целые числа в виде строки с Regex
String responseData = "fker.phone.bash,0,0,0"
+ "fker.phone.bash,0,0,0"
+ "fker.phone.bash,2,0,0";
То, что я хочу сделать, это извлечь целые числа в этой строке. Я успешно сделал это с этим кодом:
String pattern = "(\\d+)";
// this pattern finds EVERY integer. I only want the integers after the comma
Pattern pr = Pattern.compile(pattern);
Matcher match = pr.matcher(responseData);
while (match.find()) {
System.out.println(match.group());
}
До сих пор он работает, но я хочу, чтобы мое регулярное выражение более безопасным, так как responsedata я динамично. Иногда я мог бы получить целое число в середине строки, но мне нужны только последние целые числа, то есть после запятой.
Я знаю, что регулярное выражение для начала - это ^, и я должен поставить свою запятую в качестве аргумента, но я не знаю, как собрать все это вместе, и именно поэтому я прошу о помощи. Спасибо.
"* значение после запятой *" есть много способов сделать это. Вы пробовали просто поставить запятую перед номером и получить только числовую часть? Я имею в виду что-то вроде ', (\ d +)' и используя 'group (1)'. – Pshemo
@Pshemo Да, я попробовал. Проблема заключалась в том, что я не знал, как фильтровать запятые. Мне нужны только чистые числа. :) –
Знаете ли вы о [группах] (http://www.regular-expressions.info/brackets.html) в regex? – Pshemo