在Java中解析一行

时间:2013-02-21 12:20:29

标签: java

String line = "a:b:c:d"   // Valid 

在上面一行中,我有4个值,以3“:”分隔。

Sting invalidLine = "a:b:c" //Invalid 

缺少第4个值

String invalidLine = "a:b:c:"  //Invalid 

缺少第4个值。

我想在计数器“:”上吐出一行。

2 个答案:

答案 0 :(得分:2)

简单易用,只需使用:

String[] stringValidTokens = line.split(":");

为您提供一个String数组,您可以通过迭代或通过检查项目数来检查无效的字符串数组,以检查它是否有效....或者用它做任何你喜欢的事情。

因此,要比较两个字符串,请执行以下操作:

boolean valid = false;
String[] stringValidTokens = line.split(":");
String[] stringinValidTokens = invalidline.split(":");
if(stringValidTokens.size() == stringInvalidTokens.size()){
valid = true;
}

答案 1 :(得分:0)

我想在计数器“:”上吐出一行。

此代码将ondelimiter“:”

的计数拆分为给定的字符串
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");
    }

}