parseInt
方法是 Java 中用于將字符串解析為整數的靜態方法。當輸入的字符串包含非數字字符時,parseInt
會拋出 NumberFormatException
。為了處理字符串后綴,你可以在調用 parseInt
之前對字符串進行檢查和預處理。
以下是一個簡單的示例,展示了如何在解析字符串之前檢查并移除后綴:
public class Main {
public static void main(String[] args) {
String input = "123abc";
try {
int result = parseIntWithSuffix(input);
System.out.println("Parsed integer: " + result);
} catch (NumberFormatException e) {
System.out.println("Invalid input: " + input);
}
}
public static int parseIntWithSuffix(String input) {
// 檢查字符串是否包含非數字字符
if (!input.matches("^-?\\d+([eE][-+]?\\d+)?$")) {
throw new NumberFormatException("Invalid input: " + input);
}
// 移除后綴(如果存在)
String cleanedInput = input.replaceAll("[^0-9]", "");
// 解析整數
return Integer.parseInt(cleanedInput);
}
}
在這個示例中,我們首先使用正則表達式檢查字符串是否僅包含數字(包括負數和科學計數法表示)。如果字符串包含非數字字符,我們拋出一個 NumberFormatException
。接下來,我們使用 replaceAll
方法移除字符串中的所有非數字字符。最后,我們使用 Integer.parseInt
方法解析處理后的字符串。
請注意,這個示例僅適用于整數解析。如果你需要解析浮點數(如 Double.parseDouble
),你需要相應地調整正則表達式和后綴處理。