2013-02-21 3 views
-4
String line = "a:b:c:d" // Valid 

В приведенной выше строке у меня есть 4 значения, разделенные 3 ":".Разбор строки на Java

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

В 4 значение отсутствует

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

В четвёртом значение отсутствует.

Я хочу переплеть его на подсчет числа «:».

+0

http://www.google.lk/search?q=split+string+in+java&aq=0&oq=split + string + & sourceid = chrome & ie = UTF-8 – namalfernandolk

+0

разделите строку на «:» на массив и найдите длину массива. –

ответ

2

Приятного и удобный, просто использовать:

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

дает вам массив строк, который можно сравнить с недопустимым массивом строк, либо перебора или путем проверки количества элементов, чтобы проверить, действует или нет .. .. или делать с ним все, что вам нравится.

Таким образом, чтобы сравнить обе строки сделать что-то вроде:

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

Я хочу, чтобы выплюнуть линию на счета ofdelimiter «:».

Этот код разделив данную строку на подсчете 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"); 
    } 

}