Visual Basic - Buscar caracteres

Life is soft - evento anual de software empresarial
 
Vista:

Buscar caracteres

Publicado por Ivannia (1 intervención) el 13/02/2007 17:00:39
Necesito buscar la cantidad de veces que aparece un caracter dentro de una cadena, no la posicion.
Les agradezco su ayuda.

Ivannia
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Buscar caracteres

Publicado por ivan (1039 intervenciones) el 13/02/2007 19:30:46
busca la posición y ve acumulando conforme lo vayas encontrando

establece un bucle que se salga cuando el caracter no sea encontrado, conforme lo vas encontrando incrementa un contador y continúa buscando de donde lo encontraste en adelante.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscar caracteres

Publicado por Matías Freire (421 intervenciones) el 13/02/2007 19:59:07
Acá va un ejemplo

Private Function CantidadCaracteres(ByVal Cadena As String, ByVal Caracter As String) As Long
Dim lngInicio As Long
Dim lngTotal As Long

lngInicio = 1

While lngInicio <= Len(Cadena)
lngInicio = InStr(lngInicio, Cadena, Caracter)
If lngInicio > 0 Then
lngTotal = lngTotal + 1
End If
lngInicio = lngInicio + Len(Caracter)
Wend

CantidadCaracteres = lngTotal
End Function

Esero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscar caracteres

Publicado por lolo (67 intervenciones) el 13/02/2007 20:25:06
y estais seguro que ese codigo funca?, mejor es que lo reviseis y no confundais a los foreros de buena voluntad
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscar caracteres

Publicado por miguel (1042 intervenciones) el 13/02/2007 20:47:39
Tengo este ejemplo, pruebalo:

Private Sub Command1_Click()
plCadena (Text1.Text)
End Sub

Sub plCadena(pValor As String)
Dim I As Integer, J As Integer, K As Integer, Ind As Integer
Dim contLetras As Integer
Dim vlArray() As String
Dim vlPosicion As String, vlPosicion1 As String

ReDim vlArray(1 To Len(pValor), 1 To Len(pValor))

K = 1
contLetras = 1
Ind = 0

Nuevamente:

For I = 1 To Len(pValor)
vlPosicion = Mid(pValor, I, 1)
K = K + 1
contLetras = 1
For J = K To Len(pValor)
vlPosicion1 = Mid(pValor, J, 1)
If vlPosicion = vlPosicion1 Then
contLetras = contLetras + 1
End If
Next J

Ind = Ind + 1
vlArray(Ind, 1) = vlPosicion
vlArray(Ind, 2) = contLetras

pValor = flEliminaCar(pValor, vlPosicion)
GoTo Nuevamente
Next I
'Mostrar los datos
For J = 1 To UBound(vlArray)
MsgBox "Letra:" + vlArray(J, 1) + " No. Veces: " + vlArray(J, 2), vbInformation, "Contador de Caracteres"
Next J

End Sub

Public Function flEliminaCar(valor As String, pLetra As String) As String
Dim I As Long
Dim vlPosicion As String

flEliminaCar = ""
For I = 1 To Len(valor)
vlPosicion = Mid(valor, I, 1)
If vlPosicion <> pLetra Then
flEliminaCar = flEliminaCar + vlPosicion
End If
Next

End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar