SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: cristo en Jueves 29 de Marzo de 2007, 03:14

Título: Dividir Un Texto En Palabras
Publicado por: cristo en Jueves 29 de Marzo de 2007, 03:14
Hola.... queria ver si alguien me puede ayudar en lo siguiente.....
Tengo que leer un texto que esta en un Textbox.... y entonces desglosarlo en palabras.... y mostrarlo en un datagrid... y poner cuantas veces se repite la palabra... Ejemplo..... Texto =...... Mi hermano juega futbol todos los dias.

tonss se desglosaria asi...
Mi              1
hermano     1
juega          1
futbol           1
etc...

Ojala y me puedan ayudar....
gracias...
mi correo es el siguiente.... cristobalhdez@hotmail.com
Título: Re: Dividir Un Texto En Palabras
Publicado por: M4C en Jueves 29 de Marzo de 2007, 03:34
yo lo que haria es primero separar cada palabra de la cadena principal que se ingresa en el text box, te hago un ejemplo rápido:

Código: Text
  1.            
  2. string texto;
  3. string[] palabras;
  4.  
  5. texto = "Mi hermano juega futbol todos los dia";
  6. palabras = texto.Split(' ');
  7.  
  8.  

eso te va a armar el array de nombre palabras con un elemento por palabra.
Luego haria algo asi como un objeto que tenga como miembros privados un string y una cantidad de repeticiones y por cada palabra iria generando una instancia de ese objeto y metiendola en una celeccion de tipo LIST pero antes de generar la instancia buscaria si ya existe la palabra en la coleccion y en ese caso le sumaria uno al int privado del objeto.

ese es un primer paso...
Título: Re: Dividir Un Texto En Palabras
Publicado por: cristo en Viernes 30 de Marzo de 2007, 02:14
mm gracias man... encontre un codigo... pero cuando lo aplico ... solo me muestra la ultima palabra.... si escribo ...  Vamos hasta el fin.... nomas me muestra "fin" jajaja...
este es el codigo....
string[] Cop ;
           string Chaine ;
           int i ;
           Chaine = rtbleer.Text;
           Cop = Chaine.Split(' ', ',', '.', ':', '\t');
            for (i=0;i < Cop.Length ;i++)
            {
                rtbmostrar.Text = (Cop.ToString());
            }

ojala y alguien sepa la respuesta...
Título: Re: Dividir Un Texto En Palabras
Publicado por: F_Tanori en Domingo 1 de Abril de 2007, 20:35
Cita de: "cristo"
mm gracias man... encontre un codigo... pero cuando lo aplico ... solo me muestra la ultima palabra.... si escribo ...  Vamos hasta el fin.... nomas me muestra "fin" jajaja...
este es el codigo....
string[] Cop ;
           string Chaine ;
           int i ;
           Chaine = rtbleer.Text;
           Cop = Chaine.Split(' ', ',', '.', ':', '\t');
            for (i=0;i < Cop.Length ;i++)
            {
                rtbmostrar.Text = (Cop.ToString());
            }

ojala y alguien sepa la respuesta...

Pues estas eliminando el valor por asignacion
<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>XCODE </td></tr><tr><td id='XCODE'><!--exc1-->
 rtbmostrar.Text = (Cop[i].ToString());<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->

<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>XCODE </td></tr><tr><td id='XCODE'><!--exc1-->
 rtbmostrar.Text = rtbmostrar.Text+ (Cop[i].ToString());<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->


Saludos