Super EU 0 Denunciar post Postado Julho 26, 2005 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
rOcKLoCo 0 Denunciar post Postado Julho 26, 2005 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
Tiago Colombo 0 Denunciar post Postado Julho 26, 2005 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
namio 0 Denunciar post Postado Julho 26, 2005 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 = textoUm forte abraço Compartilhar este post Link para o post Compartilhar em outros sites
Juliano.net 2 Denunciar post Postado Julho 26, 2005 Namio, não conhecia esta forma utilizando MatchCollection....bem interessante... Compartilhar este post Link para o post Compartilhar em outros sites
Tiago Colombo 0 Denunciar post Postado Julho 26, 2005 Boa Namio...muito interessante mesmo...[]´s Compartilhar este post Link para o post Compartilhar em outros sites