Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: minette1988 en 23 Mayo 2010, 18:31 pm



Título: una subcadena dentro de una cadena
Publicado por: minette1988 en 23 Mayo 2010, 18:31 pm
Hola, tengo que hacer un script en visual basic que me cuente cuantas veces aparece una subcadena dentro de una cadena. No me aclaro Ej: estrella La letra e aparece dos veces
Debo introducir la cadena de teclado usando InputBox.


Título: Re: una subcadena dentro de una cadena
Publicado por: Psyke1 en 23 Mayo 2010, 20:32 pm
Código
  1. Private Sub Command1_Click ()
  2.    Dim Veces As Integer
  3.    Dim Busco As String, miCadena As String
  4.    miCadena = "estrella"
  5.    Busco = "e"
  6.    Veces = InStr(Cadena, Busco)
  7.    Msgbox "La letra " & Busco & " se repite en la cadena " & miCadena & " : " & Veces & " veces"
  8. End Sub

Creo que eso lo que buscas... :)
No obstante te recomiendo echar un vistazo a esto : http://www.recursosvisualbasic.com.ar/htm/tutoriales/tutorial-basico5.htm#instr

Salu2! ;)


Título: Re: una subcadena dentro de una cadena
Publicado por: Dessa en 24 Mayo 2010, 16:31 pm
Creo que lo que pregunta minette no es la posicion de la primera vez que aparece la subcadena sino la cantidad de veces que esta se repite dentro de la cadena.

Código:

Option Explicit

Function Contar(cadena As String, subcadena As String) As Long
  Dim s() As String: s = Split(cadena, subcadena): Contar = UBound(s)
End Function

Private Sub Form_Load()
  MsgBox Contar("estrella", "e")
End Sub