String line = "a:b:c:d"   // Valid 
上記の行では、3つの「:」で区切られた4つの値があります。
Sting invalidLine = "a:b:c" //Invalid 
4番目の値が欠落しているため
String invalidLine = "a:b:c:"  //Invalid 
4番目の値が欠落しているため。
区切り文字「:」の数の行を吐き出したい。
String line = "a:b:c:d"   // Valid 
上記の行では、3つの「:」で区切られた4つの値があります。
Sting invalidLine = "a:b:c" //Invalid 
4番目の値が欠落しているため
String invalidLine = "a:b:c:"  //Invalid 
4番目の値が欠落しているため。
区切り文字「:」の数の行を吐き出したい。
素晴らしくて簡単、ただ使う:
String[] stringValidTokens = line.split(":");
反復するか、アイテムの数をチェックして有効かどうかを確認するか、または好きなように実行することで、無効な文字列配列と比較できる文字列配列を提供します。
したがって、両方の文字列を比較するには、次のようにします。
boolean valid = false;
String[] stringValidTokens = line.split(":");
String[] stringinValidTokens = invalidline.split(":");
if(stringValidTokens.size() == stringInvalidTokens.size()){
valid = true;
}
    区切り文字「:」の数の行を吐き出したい。
このコードは、指定された文字列をofdelimiter ":"の数で分割しています。
public static void main(String[] args) {
    String line = "a:b:c:d";
    int count = line.length() - line.replace(":", "").length();
    System.out.println(count);
    String[] str = null;
    if (count == 3) {
        str = line.split(":");
        System.out.println(Arrays.toString(str));
        if (Arrays.asList(str).contains("") || str.length < 4)
            System.out.println("Invalid");
    } else {
        
        System.out.println("Invalid");
    }
}