我想知道是否有人不知道输入是单位数字还是两位数时,最好的方法是删除java中的序数值?



输入:23

预期产量:23



输入:第一

预期输出:1



到目前为止,我尝试使用regex util和substring方法的组合:

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。关于如何修改此方法或在此处实现我的目标的更好方法的任何想法?

最佳答案

inputString.replaceAll("\\D", "");


将从字符串中删除所有非数字字符。

10-01 11:17