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

Recorrer string y contar puntos

Estas en el tema de Recorrer string y contar puntos en el foro de .NET en Foros del Web. Hola amigos, me presento ya que es la primera vez que escribo aqui.. me inicio en esto de la programacion y espero que puedan ayudarme. ...
  #1 (permalink)  
Antiguo 10/03/2010, 04:21
 
Fecha de Ingreso: marzo-2010
Mensajes: 6
Antigüedad: 14 años, 8 meses
Puntos: 0
Recorrer string y contar puntos

Hola amigos, me presento ya que es la primera vez que escribo aqui.. me inicio en esto de la programacion y espero que puedan ayudarme.

Tengo una duda, como puedo hacer para recorrer un string y contar cuantos puntos tengo.

Es decir si tengo este string

Dim Hola As String = Hola. como estas. yo muy bien gracias.

Me gustaria que me devolviera un valor que me dijera = 3

Lo he intentado asi pero no sale:

Dim Hola As String = Hola. como estas. yo muy bien gracias.

Dim RecorrerHola As Arraylist = Split(Hola, ".")

Pero no funciona alguna idea??

Gracias
  #2 (permalink)  
Antiguo 10/03/2010, 05:54
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 22 años
Puntos: 4
Respuesta: Recorrer string y contar puntos

Bienvenido a FDW, Gis1984.

Lo primero de todo, la función Split te devuelve un objeto Array, y no ArrayList. No es lo mismo. Con el objeto Array ya puedes saber directamente cuántos elementos hay:

Código:
Dim Hola As String = "Hola. como estas. yo muy bien gracias."
Response.Write(Hola.Split(".").Length)
No obstante, con eso obtienes el número de elementos que han quedado separados por un punto "." y no los puntos que hay. No sé qué tipo de errores encontrarías si tienes una cadena de estos tipos:

Código:
Dim Hola1 As String = "..Hola. como estas. yo muy bien gracias..."
Dim Hola2 As String = "Hola como estas yo muy bien gracias"
Dim Hola3 As String = "."
Por lo tanto, para contar caracteres de una cadena yo te recomiendo que utilices expresiones regulares y obtener el número de coincidencias con el modelo de expresión regular:

Código:
Dim er As New System.Text.RegularExpressions.Regex("\.")
Response.Write(er.Matches(Hola).Count)
Un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #3 (permalink)  
Antiguo 11/03/2010, 08:43
Avatar de gedarufi  
Fecha de Ingreso: diciembre-2008
Ubicación: Colombia
Mensajes: 540
Antigüedad: 15 años, 11 meses
Puntos: 22
Respuesta: Recorrer string y contar puntos

Una solución alternativa a tu problema es utilizar la función IndexOf(".", pos), quedaria algo asi

Código C#:
Ver original
  1. String Hola = "Hola. como estas. yo muy bien gracias.";
  2. int pos=0;
  3. int veces=0;
  4.  
  5. while(Hola.IndexOf(".", pos) >= 0)
  6. {
  7.    pos=Hola.IndexOf(".",pos)+1;
  8.    if(pos >= 0)
  9.    {
  10.       veces=veces+1;
  11.    }
  12. }

Al final en la variable veces tendras la cantidad de puntos de cadena.

Saludos

Última edición por gedarufi; 15/03/2010 a las 10:49

Etiquetas: contar, puntos, recorrer, string
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 12:06.