我有一個字符串行像以下計數定界符:字符串函數如何在串行
A:B:C:d:E:F:G:H:我:J-:K:L:M
這意味着分隔符(:)count是12。此行有效。
現在假設有一個下面的行:
A:B:C:d:E:F:G:H :::::
這條線也是有效的,因爲它包含12定界符。其中8個值存在,4個值爲空白。
下面的配置應該是無效的:
A:B:C:d:E:F: - 無效的 - 因爲它僅包含6個值,但預計在12
怎麼辦這個 .. ?我想下面的代碼,但沒有得到期望的輸出:
String strLine = "A:B:C:D:E:F:G:H:::::" ;
int delimiterCount = 12 ;
String[] ValuesArray = strLine.split(":");
if(ValuesArray.length != delimiterCounter){
System.out.println(Invalid);
}else {
System.out.println("ValidLine");
}
我得到的輸出爲無效那裏,因爲它是前人的精力有效。
做一個字符串替換和更改所有的':'爲空字符串 - 然後比較字符串長度 - 如果新的字符串12字體小於原始字體,你有12個分隔符。 –
@MarcB這是如何在性能方面疊加起來的?與計算數字出現次數相比,字符串替換會導致不必要的開銷嗎? – cklab
取決於分隔符之間有多少數據。對於短字符串,替換字符串會更長,字符串更長......可能需要進行基準測試。 –