Ответ 1
Character.isDigit(string.charAt(index))
(JavaDoc) вернет true, если это цифра Character.isLetter(string.charAt(index))
(JavaDoc) вернет true, если это письмо
Каков наилучший и/или самый простой способ узнать, является ли string.charAt(index) буквой A-z или номером на Java без использования регулярных выражений? Спасибо.
Character.isDigit(string.charAt(index))
(JavaDoc) вернет true, если это цифра Character.isLetter(string.charAt(index))
(JavaDoc) вернет true, если это письмо
Как показывают ответы (если вы внимательно их изучите!), ваш вопрос неоднозначен. Что вы подразумеваете под буквой "A-z" или цифрой?
Если вы хотите узнать, является ли символ буквой или цифрой Unicode, используйте методы Character.isLetter
и Character.isDigit
.
Если вы хотите знать, является ли символ буквой или цифрой ASCII, то лучше всего протестировать, сравнивая с диапазонами символов 'a' to 'z', 'A' - 'Z' и '0' - '9'.
Обратите внимание, что все буквы/цифры ASCII являются буквами/цифрами Unicode... но есть много символов Unicode/цифр, которые не являются ASCII. Например, акцентированные буквы, кириллица, санскрит,...
Я ищу функцию, которая проверяет, является ли она одной из латинских букв или десятичным числом. Поскольку 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');
}
Класс Java Character имеет метод isLetterOrDigit начиная с версии 1.0.2
Я не знаю о лучшем, но мне это кажется довольно простым:
Character.isDigit(str.charAt(index))
Character.isLetter(str.charAt(index))
Сравните его значение. Это должно быть между значениями "a" и "z", "A" и "Z", "0" и "9"
// 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
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");
}
}