Foros del Web » Programación para mayores de 30 ;) » Programación General »

Como contar espacios en una cadena

Estas en el tema de Como contar espacios en una cadena en el foro de Programación General en Foros del Web. hola mundo, tengo un problemita aca que no puedo resolver. quiero contar los espacios en una cadena. yo estoy haciendo la siguiente funcion: Public Function ...
  #1 (permalink)  
Antiguo 28/09/2003, 11:49
 
Fecha de Ingreso: septiembre-2003
Mensajes: 122
Antigüedad: 20 años, 7 meses
Puntos: 0
Como contar espacios en una cadena

hola mundo, tengo un problemita aca que no puedo resolver. quiero contar los espacios en una cadena.
yo estoy haciendo la siguiente funcion:

Public Function cont_espacios(cadena As String) As Integer
salir = True
b = 1
Do While salir
a = InStr(b, " ", cadena)
If a <> 0 Then
cont_espacios = cont_espacios + 1
Else
salir = False
End If
b = a
Loop
End Function
  #2 (permalink)  
Antiguo 29/09/2003, 13:12
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Hola.. te puede quedar de ésta forma:

Cita:
Function cont_espacios(ByVal cadena As String) As Integer
Dim i As Integer
Dim num As Integer

For i = 1 To Len(cadena)
If InStr(Mid(cadena, i, 1), " ") <> 0 Then
num = num + 1
End If
Next
cont_espacios = num
End Function
Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 29/09/2003, 13:34
 
Fecha de Ingreso: septiembre-2003
Mensajes: 172
Antigüedad: 20 años, 7 meses
Puntos: 0
Hola! Prueba esto, mira los comentarios.

Public Function cont_espacios(cadena As String) As Integer
'declara las variables, siempre es mejor
Dim salir As Boolean
Dim a, b As Integer
salir = True
b = 1
Do While salir
'la cadena en la que se busca va en medio, la buscada a la derecha
a = InStr(b, cadena, " ")
If a <> 0 Then
cont_espacios = cont_espacios + 1
Else
salir = False
End If
'tienes que seguir buscando un caracter por delante de donde lo has encontrado
'si no entraras en un bucle infinito
b = a + 1
Loop
End Function

Saludos!
__________________
Sr.Propio
  #4 (permalink)  
Antiguo 29/09/2003, 13:44
 
Fecha de Ingreso: septiembre-2003
Mensajes: 122
Antigüedad: 20 años, 7 meses
Puntos: 0
Ah, le estaba errando en la funcion,
muchisimas gracias!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:12.