我想知道当你不知道输入是单个还是两位数时,是否有人知道在java中删除序数值的最佳方法是什么?
即。
输入:23日
预期产出:23
输入:第1次
预期产出: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
。关于如何修改这个或更好的方法来实现我的目标的任何想法?
答案 0 :(得分:1)
inputString.replaceAll("\\D", "");
将删除字符串中的所有非数字字符。