Как удалить порядковые значения из даты в 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", "");
Удалит все нецифровые символы из строки.