回答:
Character.isDigit(string.charAt(index))
(JavaDoc)数字の場合はtrueを返します
Character.isLetter(string.charAt(index))
(JavaDoc)が文字の場合はtrueを返します
Character.isLetterOrDigit(string.charAt(index))
両方の検証に使用します。
ラテン文字か10進数かをチェックする関数を探しています。以降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');
}
u00ff
は実際には文字ÿです。(ウムラウト付きの小文字のy。)├を表すコードポイントはu251c
です。
if (c in 'a'..'z' || с in 'A'..'Z' || c in '0'..'9')
回答が示すように(慎重に検討すると)、質問は曖昧です。「Azの文字」または数字とはどういう意味ですか?
文字がUnicode文字または数字かどうかを知りたい場合は、Character.isLetter
およびCharacter.isDigit
メソッドを使用します。
文字がASCII文字または数字かどうかを知りたい場合は、「a」から「z」、「A」から「Z」、「0」から「0」までの文字範囲と比較してテストするのが最善の方法です。 「9」。
すべてのASCII文字/数字はUnicode文字/数字ですが、ASCII以外のUnicode文字/数字が多数あることに注意してください。たとえば、アクセント付き文字、キリル文字、サンスクリットなど...
一般的な解決策はこれを行うことです:
Character.UnicodeBlock block = Character.UnicodeBlock.of(someCodePoint);
次に、ブロックが目的のブロックの1つであるかどうかをテストします。場合によっては、複数のブロックをテストする必要があります。たとえば、キリル文字には(少なくとも)4つのコードブロックがあり、ラテン語には7つのコードブロックがあります。このCharacter.UnicodeBlock
クラスは、既知のブロックの静的定数を定義します。javadocsを参照してください。
コードポイントは最大で 1つのブロック内にあることに注意してください。
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
if a string.charAt(index) is an A-z letter
。だから私たちは他の言語について話していませんか?
その値を比較します。「a」と「z」、「A」と「Z」、「0」と「9」の値の間にある必要があります
Character.isLetter()
方法よりも優れていますか?
Character.isLetter()
は初歩的だと思いました。国際化について話しているのでなければ、
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");
}
}