0

入力が1桁の数字になるのか、2桁の数字になるのかわからない場合に、Javaの順序値を削除するのが最善の方法だと誰かが知っているのではないかと思いました。

すなわち

入力:23日

期待される出力:23


入力:1番目

期待される出力:1


これまで、regexutilと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 に答える