0

我想知道当您不知道输入是一位数还是两位数时,是否有人知道在java中删除序数值的最佳方法是什么?

IE

输入:第 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. 关于如何修改这个或更好的方法来实现我的目标的任何想法?

4

1 回答 1

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

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

于 2012-12-21T21:25:16.270 回答