Contar nr de aparicoes de determinado Char em uma String

Java

09/04/2009

Caro amigos. Nao conheço muito bem java e estou me batendo com coisas bastante simples, como contar o nr de aparicoes de um determinado caracter ou conjuto de caracteres em uma string. Exemplo:
String text = 'This is a test';
contar quantas vezes aparece o "is" dentro da String. que me retorna-se um valor inteiro de quantas vezes apareceu Obrigado[/code]
Junior Flizikowski

Junior Flizikowski

Curtidas 0

Respostas

Junior Flizikowski

Junior Flizikowski

09/04/2009

Pessoal achei q tinha um metodo da classe string pra isso mas nao tem entao fiz asssim. Nao tem nda disso na documentação [url]http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html [/url]
public static int conta_ocorrencias(char caracter ,String str){   
        int count=0;   
        for (int i=0;i<str.length();i++){   
            if(str.charAt(i)==caracter){   
                count++;   
            }   
        }   
        return count;   
    }
Valeu
GOSTEI 0
Vagner Planello

Vagner Planello

09/04/2009

pra contar caracter vai funcionar, mas vc nao consegue contar as ocorrencias de "is" com esse metodo.
GOSTEI 0
Junior Flizikowski

Junior Flizikowski

09/04/2009

Nao, consigo, teria que criar um metodo somente pra isso. Com esse metodo que criei resolveu meu problema, pois necessitava busca as ocorrencias de somente um char. Pra testar a palavra is ou qualquer outra palavra, usaria o metodo split() da Classe String para dividir ela em palavras e dai testaria as ocorencias do que precisaria usando o metodo matches() da classe Pattern.
....
if(Pattern.matches("[is]+", minhaString)){
  count++
}
GOSTEI 0
Carlos Heuberger

Carlos Heuberger

09/04/2009

se fosse para contar as ocorrencias do "is" independentemente se for palavra ou não:
minhaString.split("is", -1).length-1
somente palavras "is":
minhaString.split("\\bis\\b", -1).length-1
[]]
GOSTEI 0
Lynn Sacoor

Lynn Sacoor

09/04/2009

:idea: /* conta o nº de ocorrências de uma sequência de caracteres num * texto, somente nos seguintes casos: se a ocorrência estiver no fim * ou no inicio da palavra, ou se for uma palavra ****************/ import java.util.*; public class Ocorre_IS { public static void main(String args[]) { String texto = "This is a test"; String c = "is"; String le_is = null; int cont = 0; StringTokenizer is = new StringTokenizer(texto); while (is.hasMoreTokens()) { le_is = is.nextToken(); if ( (le_is.compareToIgnoreCase(c) = 0) || (le_is.startsWith(c)) || (le_is.endsWith(c)) ) cont++; } System.out.println ("Ocorrencias do 'is' = " + cont); } } /*para verificar as ocorrências no meio da palavra, já é mais complicado!... Teria que haver um método apropriado para isso. Aguém conheçe??? Lynn Sacoor. Moçambique.*************/ :idea:
GOSTEI 0
POSTAR