Usuário com melhor resposta
Contar caracteres em uma frase

Pergunta
-
Senhores,
bom dia.
Estou precisando de uma função que conte um determinado caracterer em uma frase.
Por ex:
"O gato roeu a roupa do rei de roma".
Se eu solicitasse a letra "A", ele me retornaria 4.
"o gAto roeu A roupA do rei de romA".
Eu já fiz isso a um tempo atras, só que não estou conseguindo fazer novamente.
Me lembro que devemos utilizar o len() mas não estou muito certo disso.
Conto com a ajuda dos Srs!
Grato.
Jardyson Melo
Respostas
-
Jardyson,
Minha sugestão:
Code SnippetDim strFrase As String = "O gato roeu a roupa do rei de roma"
Dim strLetra As String = "A" Dim intTotalLetras As Integer = 0For intI As Integer = 1 To strFrase.Length
If Mid(strFrase, intI, 1).ToUpper = strLetra.ToUpper Then
intTotalLetras += 1
MsgBox(intTotalLetras)
Ajude a melhorar o nosso Fórum!
Não esqueça de marca a mensagem como "útil", caso tenha ajudado. -
Eu tinha entendido errado.. Uso esta função
Code SnippetFunction ContaString(TextoBase$, StringAcha$) As Long
ContaString = 0
If StringAcha = "" Then
MsgBox "Erro: Contador de Strings igual a nulo...", vbCritical, "Erro"
Exit Function
End If
Dim Posição&
Posição = 1
Do While True
If InStr(Posição, TextoBase, StringAcha) > 0 Then
ContaString = ContaString + 1
Posição = InStr(Posição, TextoBase, StringAcha) + Len(StringAcha)
Else
Exit Do
End If
Loop
End FunctionCode SnippetSub Teste()
Dim texto$
texto = "O gato roeu a roupa do rei de roma"
MsgBox ContaString(texto, "a")End Sub
Todas as Respostas
-
-
Jardyson,
Minha sugestão:
Code SnippetDim strFrase As String = "O gato roeu a roupa do rei de roma"
Dim strLetra As String = "A" Dim intTotalLetras As Integer = 0For intI As Integer = 1 To strFrase.Length
If Mid(strFrase, intI, 1).ToUpper = strLetra.ToUpper Then
intTotalLetras += 1
MsgBox(intTotalLetras)
Ajude a melhorar o nosso Fórum!
Não esqueça de marca a mensagem como "útil", caso tenha ajudado. -
Eu tinha entendido errado.. Uso esta função
Code SnippetFunction ContaString(TextoBase$, StringAcha$) As Long
ContaString = 0
If StringAcha = "" Then
MsgBox "Erro: Contador de Strings igual a nulo...", vbCritical, "Erro"
Exit Function
End If
Dim Posição&
Posição = 1
Do While True
If InStr(Posição, TextoBase, StringAcha) > 0 Then
ContaString = ContaString + 1
Posição = InStr(Posição, TextoBase, StringAcha) + Len(StringAcha)
Else
Exit Do
End If
Loop
End FunctionCode SnippetSub Teste()
Dim texto$
texto = "O gato roeu a roupa do rei de roma"
MsgBox ContaString(texto, "a")End Sub
-