请看以下2个例子。如何确保第二个也打印4?
String s="a|b|c|d"
println(s.split("\\|").length)
//prints 4
s="a|b||"
println(s.split("\\|").length)
//prints 2
答案 0 :(得分:2)
要保留空标记,请使用split with limit = -1
println(s.split("\\|", -1).length)
答案 1 :(得分:-2)
Split不允许在迭代时使用空值。因此,以下代码将起作用。
int counter = 0;
for(int i = 0 ; i < s.length();i++)
{
if(s.charAt(i) == '|')
{
counter++;
}
}
System.out.println(counter);