Как удалить порядковые значения из даты в Java

Мне было интересно, если бы кто-нибудь знал, что лучший метод для удаления порядковых значений в Java, когда вы не знаете, будет ли ввод однозначный или двузначный номер?

т.е.

Вход: 23-й

Ожидаемый результат: 23


Вход: 1-й

Ожидаемый результат: 1


До сих пор я пытался использовать комбинацию из регулярного выражения и метода подстроки:

String dayValue = "";
String dayPattern = "(?<=[0-9])(?:st|nd|rd|th)";
Pattern dPattern = Pattern.compile(dayPattern);
Matcher dMatch;

dayValue = "23rd";
dMatch = dPattern.matcher(dayValue);
System.out.println("The Pattern is: " + autoBuyDay.substring(dMatch.start()));

Но это просто дает мне No match available error, Любые идеи о том, как изменить это или лучший способ достижения моей цели здесь?

1 ответ

Решение
inputString.replaceAll("\\D", "");

Удалит все нецифровые символы из строки.

Другие вопросы по тегам