在java中将字符串转换为int

but*_*ski 3 java regex string

我有一个字符串,其中包含一个int值.我只想从字符串中提取int值并打印.

String str="No. of Days : 365";
String daysWithSplChar = str.replaceAll("[a-z][A-Z]","").trim();
char[] ch = daysWithSplChar.toCharArray();
StringBuffer stb = new StringBuffer();
for(char c : ch)
{
  if(c >= '0' && c <= '9')
   {
      stb.append(c);
   }
}

int days = Integer.ParseInt(stb.toString());
Run Code Online (Sandbox Code Playgroud)

有没有比这更好的方法.请告诉我.

Evg*_*eev 9

尝试String.replaceAll

    String str = "No. of Days : 365";
    str = str.replaceAll(".*?(\\d+).*", "$1");
    System.out.println(str);
Run Code Online (Sandbox Code Playgroud)

你会得到

365
Run Code Online (Sandbox Code Playgroud)