@line Postado Agosto 9, 2004 Denunciar Share Postado Agosto 9, 2004 Olá!Alguém sabe se existe alguma função para contar quantas vezes um determinado caracter aparece em uma string? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Luiz Humberto Postado Agosto 9, 2004 Denunciar Share Postado Agosto 9, 2004 Public Function QtdeString(MyString As String, Ocorrencia As String) As Long Dim Contador As Long Dim AuxLocal As Long Dim AuxString As Long Dim Aux As Long AuxLocal = 1 Contador = 0 AuxString = 1 Aux = 1 While AuxLocal <> 0 AuxLocal = InStr(Aux, MyString, Ocorrencia) Aux = AuxLocal + Len(Ocorrencia) If AuxLocal <> 0 Then Contador = Contador + 1 End IfWend QtdeString = Contador 'Return Contador End FunctionPara chamar faça assim:QtdeString("TESTE","T")Irá retornar 2.Precisando estamos aí Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Luiz Humberto Postado Agosto 9, 2004 Denunciar Share Postado Agosto 9, 2004 QtdeString("TESTE","T")Faltou uma variavel receber este resultado. Então ficará assim:Qtde=QtdeString("TESTE","T") Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodfraga Postado Agosto 10, 2004 Denunciar Share Postado Agosto 10, 2004 Na verdade eu acho que não. A função resultaria nesse valor, atuando como uma variável. Estou errado? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Agosto 11, 2004 Denunciar Share Postado Agosto 11, 2004 Na verdade eu acho que não. A função resultaria nesse valor, atuando como uma variável. Estou errado? Você quer dizer usando algo assim...if QtdeString("TESTE","T")=2 then ... ? Se for, tanto faz fazer dessa maneira quanto fazer: Qtde=QtdeString("TESTE","T") if Qtde=2 thenDá no mesmo. Apenas no segundo caso você deu um "nome" para identificar o valor retornado e no primeiro caso não.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodfraga Postado Agosto 11, 2004 Denunciar Share Postado Agosto 11, 2004 Isso que eu quis dizer. Porém, esse nome, seria mais uma variável a ser criada, o que acarretaria em mais uma (insignificante) ocupação da memória do computador, certo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Promotor Advanced Postado Agosto 12, 2004 Denunciar Share Postado Agosto 12, 2004 'Esse código que faz a mesma coisa, só que eu acho menor...Function QuantasVezes(Letra As String, Carac As String) As IntegerDim NuVezes As IntegerDim X As IntegerFor X = 1 To Len(Carac) If Mid(Carac, X, 1) = Letra Then NuVezes = NuVezes + 1 End IfNext XQuantasVezes = NuVezesEnd Function'para chamarMsgBox QuantasVezes("a", "papagaio") Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Agosto 13, 2004 Denunciar Share Postado Agosto 13, 2004 Isso que eu quis dizer. Porém, esse nome, seria mais uma variável a ser criada, o que acarretaria em mais uma (insignificante) ocupação da memória do computador, certo? Ambos fazem isso (ou sejam, ocupam um determinado espaço após a expressão ter sido desenvolvida). Porém, nesse caso, talvez o fato de ter uma variável ocupe um pouco mais de espaço, já que a mesma será uma Variant. Já se ela fosse declarada, acho que não haveria diferença.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rodfraga Postado Agosto 13, 2004 Denunciar Share Postado Agosto 13, 2004 Agora entendi. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
@line
Olá!
Alguém sabe se existe alguma função para contar quantas vezes um determinado caracter aparece em uma string?
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.