Pedrosa
Existe algo na classe String que faça isso ?
public static void main(String[] args) {
String frase = "AAA;BBB;CCC;DDD;";
Pattern p = Pattern.compile(";");
Matcher m = p.matcher(frase);
int count = 0;
while (m.find()) {
count++;
}
System.out.println(count);
}
s4nchez
Se você analisar a quantidade de elementos no array gerado no split já não é suficiente?
maquiavelbona
Opa!
Não gosto de postar código pronto, mas aí vai:
int numero = new String("AAA;BB;CCCCC;DD;F").split(";").length-1;
System.out.println(numero>0?""+numero:"0");
Até!
Pedrosa
Desse jeito não funciona direito:
int numero = new String("AAA;BB;CCCCC;nn").split(";").length;
Isso aqui está retornando 4 e so tenho 3 ;
maquiavelbona
Outro exemplo que achei:
import org.apache.commons.lang.StringUtils;
public class StringUtilsExampleV1 {
public static void main(String args[]) {
System.err.println(StringUtils.countMatches(";;;;;", ";"));
}
}
peczenyj
expressões regulares?
String x = "AAA;BB;CCCCC;nn";
int i = x.replaceAll("[^;]","").length();
Pedrosa
Valeu galera existem diversas maneiras de resolver o mesmo problema!, kd as estrelas não podemos mais avaliar as respostas?