정규식을 사용하지 않고 Java에서 문자가 문자인지 숫자인지 알 수있는 가장 좋은 방법은 무엇입니까?
string.charAt (index)가 정규 표현식을 사용하지 않고 Java에서 Az 문자 또는 숫자인지를 인식하는 가장 좋고 / 또는 가장 쉬운 방법은 무엇입니까? 감사.
Character.isDigit(string.charAt(index))
( JavaDoc ) 숫자 이면 true를 반환합니다.
Character.isLetter(string.charAt(index))
( JavaDoc ) 문자이면 true를 반환합니다.
답변에서 알 수 있듯이 (주의 깊게 살펴보면!) 질문이 모호합니다. "Az 문자"또는 숫자는 무엇을 의미합니까?
문자가 유니 코드 문자인지 숫자 인지 알고 싶다면
Character.isLetter
및Character.isDigit
메서드 를 사용하십시오 .문자가 ASCII 문자인지 숫자 인지 알고 싶다면 'a'에서 'z', 'A'에서 'Z', '0'의 문자 범위를 비교하여 테스트하는 것이 가장 좋습니다. '9'.
모든 ASCII 문자 / 숫자는 유니 코드 문자 / 숫자입니다 ... 그러나 ASCII가 아닌 유니 코드 문자 / 숫자 문자가 많이 있습니다. 예를 들어, 악센트 부호가있는 문자, 키릴 문자, 산스크리트어, ...
일반적인 해결책은 다음과 같습니다.
Character.UnicodeBlock block = Character.UnicodeBlock.of(someCodePoint);
그런 다음 블록이 관심있는 블록 중 하나인지 테스트합니다. 경우에 따라 여러 블록을 테스트해야합니다. 예를 들어 키릴 문자 용 코드 블록은 4 개, 라틴 문자 용 코드 블록은 7 개입니다. 이 Character.UnicodeBlock
클래스는 잘 알려진 블록에 대한 정적 상수를 정의합니다. javadocs를 참조하십시오 .
모든 코드 포인트는 최대 하나의 블록에 있습니다.
라틴 문자 또는 십진수 중 하나인지 확인하는 기능을 찾고 있습니다. 이후 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 클래스에는 버전 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
그 가치를 비교하십시오. 'a'와 'z', 'A'와 'Z', '0'과 '9'의 값 사이 여야합니다.
아래 코드를 사용하십시오
Character.isLetterOrDigit(string.charAt(index))
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");
}
}
'Programing' 카테고리의 다른 글
오늘부터 navigator.platform의 가능한 값 목록은 무엇입니까? (0) | 2020.09.12 |
---|---|
ASP.Net Core Web API의 반환 파일 (0) | 2020.09.12 |
확대 편집기 창 android studio (0) | 2020.09.11 |
Google Maps API v3 : 이벤트 리스너를 제거하는 방법? (0) | 2020.09.11 |
Apache POI Excel-확장 할 열을 구성하는 방법은 무엇입니까? (0) | 2020.09.11 |