カルロス・デ・ラ・トーレ:
私は、文字列は4つの数字が続く3つの文字を意味正しいフォーマットABC1234であるかどうかを確認する必要があるプロジェクトに取り組んでいます。私は、この問題を解決するために正規表現を使用しないように言われました。
私は、次のコードを思い付いたが、私はよりクリーンで効率的な何かを探していますので、それは不格好です。
String sample = ABC1234
char[] chars = sample.toCharArray();
if(Character.isLetter(chars[0]) && Character.isLetter(chars[1]) &&
Character.isLetter(chars[2]) && Character.isDigit(chars[3]) &&
Character.isDigit(chars[4]) && Character.isDigit(chars[5]) &&
Character.isDigit(chars[6])){
list.add(sample);
}
// OUTPUT: ABC1234 gets added to "list". When it prints, it appears as ABC1234.
期待通りにすべての出力がありますが、私は、これは一般的にはどちらか、より効率的にまたはちょうど良く行うことができます知っています。
私はちょうど彼らがそれぞれの文字だと、最後の4つの文字は数字でなければなりません確認するために、最初の3文字をチェックしています。
何かアドバイス?前もって感謝します。
Pradip Karki:
ここでは別の方法です。
String sample = "ABC1234";
if (sample.substring(0, 3).chars().allMatch(Character::isLetter)
&& sample.substring(3).chars().allMatch(Character::isDigit)) {
list.add(sample);
}