簡體   English   中英

在java中將字符串轉換為int

[英]convert string to int in java

我有一個字符串,其中包含一個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());

有沒有比這更好的方法。 請告訴我。

嘗試String.replaceAll

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

你會得到

365

另一種使用正則表達式的方法(除了@EvgeniyDorofeev建議的方式)更接近你所做的:

str.replaceAll("[^0-9]","");   // give you "365"

這意味着,用空字符串替換不是0-9的所有內容(換句話說,刪除所有非數字字符)

這意味着相同,只是一個讓您感覺更舒服的品味問題:

str.replaceAll("\\D","");   // give you "365"
Scanner in = new Scanner("Hello123").useDelimiter("[^0-9]+");
int integer = in.nextInt();

這將得到整數

以下代碼為您提供整數值

  String str = "No. of Days : 365";
        str = str.replaceAll(".*?(\\d+)", "$1");
        System.out.println(str);
        Integer x = Integer.valueOf(str);//365 in integer type
           System.out.println(x+1);//output 366

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM