정규식을 사용하지 않고 자바에서 문자가 문자인지 숫자인지 확인하는 가장 좋은 방법은 무엇입니까?
string.charAt(index)가 Java에서 정규 표현을 사용하지 않고 A-z 문자 또는 숫자인지 확인하는 가장 좋은 방법 및/또는 가장 쉬운 방법은 무엇입니까?고마워요.
Character.isDigit(string.charAt(index))
(JavaDoc)가 숫자일 경우 true를 반환합니다.
Character.isLetter(string.charAt(index))
(JavaDoc)는 편지일 경우 true를 반환합니다.
라틴 문자인지 10진수인지 확인하는 기능을 찾고 있습니다.부터char c = 255
(인쇄 가능한 버전에서는 and로 되어 있으며, 이 버전은 에 의해 레터로 간주됩니다).Character.isLetter(c)
이 기능은 대부분의 개발자가 찾고 있는 기능이라고 생각합니다.
private static boolean isLetterOrDigit(char c) {
return (c >= 'a' && c <= 'z') ||
(c >= 'A' && c <= 'Z') ||
(c >= '0' && c <= '9');
}
정답이 나타내듯이(자세히 검토하면!), 당신의 질문은 애매합니다."A-z 문자" 또는 숫자가 무슨 뜻입니까?
문자가 Unicode 문자인지 숫자인지 확인하려면
Character.isLetter
그리고.Character.isDigit
방법들.문자가 ASCII 문자인지 숫자인지 알고 싶다면 가장 좋은 방법은 문자 범위 'a'에서 'z', 'A'에서 'Z', '0'에서 '9'와 비교하여 테스트하는 것입니다.
모든 ASCII 문자/자리는 Unicode 문자/자리...이지만 ASCII가 아닌 Unicode 문자/자리 문자가 많습니다.예를 들어 악센트 문자, 키릴 문자, 산스크리트 문자...
일반적인 해결책은 다음과 같습니다.
Character.UnicodeBlock block = Character.UnicodeBlock.of(someCodePoint);
그런 다음 해당 블록이 관심 있는 블록 중 하나인지 테스트합니다.경우에 따라서는 여러 블록을 테스트해야 합니다.예를 들어, 키릴 문자는 4개, 라틴어는 7개 이상의 코드 블록이 있습니다.그Character.UnicodeBlock
class는 well-known 블록의 정적 상수를 정의합니다.javadocs 를 참조해 주세요.
모든 코드 포인트는 최대 한 블록 안에 있습니다.
Java Character 클래스에는 버전 1.0.2 이후 isLetterOrDigit 메서드가 있습니다.
최선의 방법은 모르겠지만, 이건 꽤 간단한 것 같아요.
Character.isDigit(str.charAt(index))
Character.isLetter(str.charAt(index))
// 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
아래 코드를 사용합니다.
Character.isLetterOrDigit(string.charAt(index))
그 가치를 비교합니다.값은 'a'와 'z', 'A'와 'Z', '0'과 '9' 사이여야 합니다.
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");
}
}
언급URL : https://stackoverflow.com/questions/4047808/what-is-the-best-way-to-tell-if-a-character-is-a-letter-or-number-in-java-withou
'programing' 카테고리의 다른 글
C에서의 #pragma 사용 (0) | 2022.08.10 |
---|---|
vue에서 항목을 클릭하는 방법 (0) | 2022.08.10 |
메이븐을 사용하여 단일 테스트 방법 실행 (0) | 2022.08.10 |
커스텀 CPU용 C 컴파일러를 작성하는 방법 (0) | 2022.08.10 |
정의되지 않은 속성 'ref'를 읽을 수 없습니다. (0) | 2022.08.10 |