Character.isDigit(string.charAt(0))
Beachten Sie, dass this will allow any Unicode digit, nicht nur 0-9. Sie könnten es vorziehen:
char c = string.charAt(0);
isDigit = (c >= '0' && c <= '9');
Oder die langsamen regex Lösungen:
s.substring(0, 1).matches("\\d")
// or the equivalent
s.substring(0, 1).matches("[0-9]")
jedoch mit jedem dieser Methoden, müssen Sie zuerst sicher sein, dass die Zeichenfolge nicht leer sind. Wenn dies der Fall ist, wird charAt(0)
und substring(0, 1)
einen StringIndexOutOfBoundsException
werfen. startsWith
hat dieses Problem nicht.
Um die gesamte Zustand einer Zeile zu machen und Länge Kontrollen zu vermeiden, können Sie die regulären Ausdrücke an folgenden verändern können:
s.matches("\\d.*")
// or the equivalent
s.matches("[0-9].*")
Wenn die Bedingung in einer engen Schleife nicht erscheint Hit in Ihrem Programm, der kleinen Leistung Es ist nicht wahrscheinlich, dass die Verwendung von regulären Ausdrücken wahrnehmbar ist.
ich die Regex Art und Weise erwähnen würde, aber ich hatte Angst, dass wenn ich es täte, würden Sie es zu versuchen versucht. –