Подтвердить что ты не робот

Каков наилучший способ определить, является ли символ буквой или номером на Java без использования регулярных выражений?

Каков наилучший и/или самый простой способ узнать, является ли string.charAt(index) буквой A-z или номером на Java без использования регулярных выражений? Спасибо.

4b9b3361

Ответ 1

Character.isDigit(string.charAt(index)) (JavaDoc) вернет true, если это цифра
Character.isLetter(string.charAt(index)) (JavaDoc) вернет true, если это письмо

Ответ 2

Как показывают ответы (если вы внимательно их изучите!), ваш вопрос неоднозначен. Что вы подразумеваете под буквой "A-z" или цифрой?

  • Если вы хотите узнать, является ли символ буквой или цифрой Unicode, используйте методы Character.isLetter и Character.isDigit.

  • Если вы хотите знать, является ли символ буквой или цифрой ASCII, то лучше всего протестировать, сравнивая с диапазонами символов 'a' to 'z', 'A' - 'Z' и '0' - '9'.

Обратите внимание, что все буквы/цифры ASCII являются буквами/цифрами Unicode... но есть много символов Unicode/цифр, которые не являются ASCII. Например, акцентированные буквы, кириллица, санскрит,...

Ответ 3

Я ищу функцию, которая проверяет, является ли она одной из латинских букв или десятичным числом. Поскольку char c = 255, который в печатной версии и рассматривается как буква Character.isLetter(c). Эта функция, на мой взгляд, предназначена для большинства разработчиков:

private static boolean isLetterOrDigit(char c) {
    return (c >= 'a' && c <= 'z') ||
           (c >= 'A' && c <= 'Z') ||
           (c >= '0' && c <= '9');
}

Ответ 4

Класс Java Character имеет метод isLetterOrDigit начиная с версии 1.0.2

Ответ 5

Я не знаю о лучшем, но мне это кажется довольно простым:

Character.isDigit(str.charAt(index))
Character.isLetter(str.charAt(index))

Ответ 6

Сравните его значение. Это должно быть между значениями "a" и "z", "A" и "Z", "0" и "9"

Ответ 7

// check if ch is a letter
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
    // ...

// check if ch is a digit
if (ch >= '0' && ch <= '9')
    // ...

// check if ch is a whitespace
if ((ch == ' ') || (ch =='\n') || (ch == '\t'))
    // ...

Источник: https://docs.oracle.com/javase/tutorial/i18n/text/charintro.html

Ответ 8

 import java.util.Scanner;
 public class v{
 public static void main(String args[]){
 Scanner in=new Scanner(System.in);
    String str;
    int l;
    int flag=0;
    System.out.println("Enter the String:");
    str=in.nextLine();
    str=str.toLowerCase();
    str=str.replaceAll("\\s","");
    char[] ch=str.toCharArray();
    l=str.length();
    for(int i=0;i<l;i++){
        if ((ch[i] >= 'a' && ch[i]<= 'z') || (ch[i] >= 'A' && ch[i] <= 'Z')){
        flag=0;
        }
        else

        flag++;
        break;
        } 
if(flag==0)
    System.out.println("Onlt char");


}
}