Каков наилучший и/или самый простой способ узнать, является ли string.charAt(index) буквой A-z или номером на Java без использования регулярных выражений? Спасибо.
Каков наилучший способ определить, является ли символ буквой или номером на Java без использования регулярных выражений?
Ответ 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");
}
}