none
Contar cuantas veces esta la palabra "INGRESOS" en una caja de texto y mostrarla en la misma pantalla RRS feed

  • Pregunta

  • Hola Gente del desarrollo:

    Les comento que estoy desarrollando una aplicación Form con C# .Net donde extraigo un documento PDF y a través de un evento en un Buttom, selecciono un archivo PDF y lo muestro en limpio en una caja de texto multiline, funciona muy bien,

    Luego quise agregar un poquito más de complejidad, lo que necesito es verificar cuantas veces está cierta palabra o numero o fecha en este documento así que encontré una forma, el problema es que aquí se quemo mis pocos conocimientos en programación, ya que no logro mostrar en forma de listado cuantas veces està esa palabra, aquí les muestro lo que hice

    esta es la simple pantalla 

    en el botón se encuentra este evento 

    esto lo logré con una libreria de

    using iTextSharp.text;
    using iTextSharp.text.pdf;
    using iTextSharp.text.pdf.parser;

    cuando inicializo la aplicación y cargo un PDF aparece tal cual lo había planeado, esta es la screen de pantalla

    He colocado un label para capturar cuantas veces aparece la palabra "INGRESOS" y mi intencion es mostrar las cantidad de veces que está la misma palabra, el tema es que no logro ver como contar esa palabra y en el documento está ocho veces.

    este es el código que puse debajo del otro pedazo de código que mostré

    Se creó una variable sPattern para que tome la palabra "INGRESOS" como patron, esto lo hice con Expresiones regulares, les comento que si se muestra la palabra "INGRESOS" la expresion regular funcion pero no logro mostrar la cantidad de veces que está esa palabra en el documento

    Alguien sabe como puedo lidiar y resolver mi problema? desde ya les agradezco

    Pablo Cesar Farias


    Pablo Cesar Farias

    miércoles, 8 de febrero de 2017 23:40

Respuestas

  • Hola Pablo Cesar Farias,

    Podrías usar Escape de la clase Regex.

    string texto = txtContenido_delPDF.Text.ToUpper(); 
    
    string buscar = "INGRESOS";
    
    //Obtener el total de repeticiones
    int repeticiones = Regex.Matches(Regex.Escape(texto), buscar).Count;
    
    MessageBox.Show(string.Format("La palabra '{0}' se repite {1} veces.", 
        buscar, repeticiones));

    Hago uso del método ToUpper() para convertir el texto en mayúsculas, ya que no contaría las palabras ingresos en minúsculas.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    jueves, 9 de febrero de 2017 0:03

Todas las respuestas

  • Hola Pablo Cesar Farias,

    Podrías usar Escape de la clase Regex.

    string texto = txtContenido_delPDF.Text.ToUpper(); 
    
    string buscar = "INGRESOS";
    
    //Obtener el total de repeticiones
    int repeticiones = Regex.Matches(Regex.Escape(texto), buscar).Count;
    
    MessageBox.Show(string.Format("La palabra '{0}' se repite {1} veces.", 
        buscar, repeticiones));

    Hago uso del método ToUpper() para convertir el texto en mayúsculas, ya que no contaría las palabras ingresos en minúsculas.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    jueves, 9 de febrero de 2017 0:03
  • Hola buen día JC NaupaCrispín : Voy a poner en practica tu consejo y te confirmo luego si me funcionó Gracias Saludos cordiales

    Pablo Cesar Farias


    Pablo Cesar Farias

    jueves, 9 de febrero de 2017 15:10