Javaで文字列が数字かどうかをチェックする方法

※当サイトではアフィリエイト広告を利用しています

Javaのコーディング時に、文字列が数字であるかどうかをチェックする必要が生じました。

入力データのバリデーションやテキスト処理で頻繁に利用されるため、Javaで文字列が数字かどうかをチェックする方法についてメモしておきます。

Characterクラスを使用して文字列が数字かどうかをチェックする

最もシンプルな方法は、CharacterクラスのisDigit()メソッドを使用するやり方です。

このメソッドは、指定された文字が10進数の数字である場合にtrueを返します。
文字列中のすべての文字が数字であるかどうかを確認するには、次のようなコードになります。

public static boolean isNumeric(String input) {
    if (input == null || input.isEmpty()) {
        return false;
    }
    for (char c : input.toCharArray()) {
        if (!Character.isDigit(c)) {
            return false;
        }
    }
    return true;
}

正規表現を使用して文字列が数字かどうかをチェックする

正規表現を使用して、文字列が数字であるかどうかをチェックすることもできます。

String.matches()メソッドを使用して、文字列が正規表現に一致するかどうかを確認できます。
以下のコードは、文字列が数字であるかどうかをチェックする方法になります。

javaCopy codepublic static boolean isNumeric(String input) {
    if (input == null || input.isEmpty()) {
        return false;
    }
    return input.matches("\\d+");
}

ここで、正規表現"\\d+"は1つ以上の連続した数字を意味します。
文字列がこのパターンに一致する場合、trueを返します。

コメント