Character.isDigit(string.charAt(0))
Lưu ý rằng this will allow any Unicode digit, không chỉ 0-9. Bạn có thể thích:
char c = string.charAt(0);
isDigit = (c >= '0' && c <= '9');
Hoặc các giải pháp regex chậm:
s.substring(0, 1).matches("\\d")
// or the equivalent
s.substring(0, 1).matches("[0-9]")
Tuy nhiên, với bất kỳ của những phương pháp này, trước tiên bạn phải chắc chắn rằng chuỗi là không có sản phẩm nào. Nếu có, charAt(0)
và substring(0, 1)
sẽ ném một số StringIndexOutOfBoundsException
. startsWith
không có vấn đề này.
Để làm cho toàn bộ tình trạng một dòng và tránh kiểm tra chiều dài, bạn có thể thay đổi regexes như sau:
s.matches("\\d.*")
// or the equivalent
s.matches("[0-9].*")
Nếu tình trạng này không xuất hiện trong một vòng lặp chặt chẽ trong chương trình của bạn, đạt hiệu suất nhỏ để sử dụng cụm từ thông dụng không có khả năng đáng chú ý.
Nguồn
2009-08-03 15:43:02
tôi sẽ đề cập đến cách regex, nhưng tôi sợ rằng nếu tôi đã làm, bạn sẽ bị cám dỗ để thử nó. –