Como retornar número de ocorrências num string?

7 respostas
P

Olá,

existe alguma função para retornar o número de ocorrências de um certo caracter dentro de uma string?

Por exemplo:
string exemplo = “abxxbcbxddbxxbd”;
Quantidade de ‘x’ na string = 5

Valeu,
Paulo.

7 Respostas

C

Yeap. Voce pode usar indexOf e subString, ou uma expressao regular e contar o numero de matches. Eu fico com a ultima, que eh bem mais elegante.

P

Desculpe minha ignorancia, mas não entendi …

Valeu,
Paulo.

C

Leia:

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html

E acho que vc vai entender melhor a mensagem :slight_smile:

R

Se voce quiser contar apenas um unico caracter um for basico tambem resolve:

int total = 0;
for (int i = 0; i < exemplo.length; i++) {
    if (exemplo.charAt(i) == 'x')  {
        total++;
    }
}

Rafael

P

Obrigadao … as duas dicas vão ser muito úteis

[]'s
Paulo.

J
String texto = "...   ";

Pattern pattern = Pattern.compile("xxxxxx");  
Matcher matcher = pattern.matcher(texto);  
		
int contadorOcorrencias = 0;
while(matcher.find()){
     contadorOcorrencias++;		
}
J

Ou

org.apache.commons.lang.StringUtils.countMatches("....", "xxxx");
Criado 3 de junho de 2005
Ultima resposta 22 de dez. de 2011
Respostas 7
Participantes 4