Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Super EU

Pesquisa em String? Como saber quantas vezes uma..

Recommended Posts

Fala ae Galera, boa noite, tudo bem?Estou com outro problema. Eu tenho uma string, e no meio dessa string, existem varias palavras repetidas. Como que eu posso fazer, pra saber quantas vezes uma determinada palavra aparede repetida? Por exemplo.. eu tenho a string "msdn msdn Daniel Gimenez Msdn br brasil". Como que eu posso fazer, pra saber quantas vezes a palavra MSDN aparece nessa String. Não to conseguindo fazer nada que chegue perto disso. Alguem pode me ajudar por favor?Obrigado =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, você pode separar por espaços a string.. e fazer um FOR comparando as palavras...falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

você pode fazer isso de várias maneiras, uma delas seria a seguinte:

 

       Dim str As String = "msdn msdn Daniel Gimenez Msdn br brasil"        Dim strArray() As String = str.Split(" ")        Dim strPalavra As String = "msdn"        Dim intQuantidade As Integer        For i As Integer = 0 To strArray.Length - 1            If strArray(i).Compare(strArray(i), strPalavra, True) = 0 Then                intQuantidade += 1                strArray.Clear(strArray, i, 1)            End If        Next        MsgBox(intQuantidade)

Espero que ajude.

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um outra maneira é utilizar a classe MatchCollection.

 

Em C#, você poderia ter algo assim:

 

MatchCollection mc;    // Cria um objeto Regex, contendo a expressão desejada para a busca.Regex r = new Regex("abc"); // Utiliza o método Matches para encontrar todas as ocorrências da expressão na// string a ser pesquisada.mc = r.Matches("123abc4abcd");// Escreve, na caixa de texto txtResultado, o número de ocorrências.txtResultado.Text = mc.Count.ToString();
Em VB .Net, esse código poderia ser escrito assim:

 

Dim mc As MatchCollection' Cria um objeto Regex, contendo a expressão desejada para a busca.Dim r As New Regex("abc")' Utiliza o método Matches para encontrar todas as ocorrências da expressão na' string a ser pesquisada.mc = r.Matches("123abc4abcd")' Escreve, na caixa de texto txtResultado, o número de ocorrências.txtResultado.Text = mc.Count.ToString()
Se você desejar listar todas as ocorrências da busca com suas respectivas posições, você o faz da seguinte maneira:

 

em C#:

 

string texto = string.Empty;foreach (Match ocorrencia in mc){   texto += ocorrencia.Value + " - " + ocorrencia.Index + Environment.NewLine;}txtOcorrencias.Text = texto;
em VB .Net:

 

Dim texto as String = string.Empty;For Each ocorrencia As Match In mc   texto += ocorrencia.Value & " - " & ocorrencia.Index + Environment.NewLineNexttxtOcorrencias.Text = texto
Um forte abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.