Buscar Frases En Un Archivo De Texto En C#

En este ejercicio, creará un programa que lee el contenido de un archivo de texto y lo guarda en un ArrayList. El programa solicitará al usuario que introduzca una palabra o frase y la busque dentro de las líneas del archivo. Si la encuentra, el programa mostrará todas las líneas que la contienen. El usuario puede seguir introduciendo diferentes palabras o frases hasta que decida detener la búsqueda introduciendo una cadena vacía.

Este ejercicio le ayudará a practicar la lectura de archivos, la búsqueda de cadenas y el uso de colecciones como ArrayList para gestionar datos dinámicos. El programa debe ser capaz de gestionar los casos en que no se encuentren coincidencias y la búsqueda debe distinguir entre mayúsculas y minúsculas.



Grupo

Gestión Dinámica de Memoria en C#

Objectivo

1. Leer el contenido de un archivo de texto y guardarlo en un ArrayList.
2. Solicitar al usuario que introduzca una palabra o frase.
3. Buscar en el ArrayList las líneas que contengan la palabra o frase introducida.
4. Mostrar al usuario todas las líneas coincidentes.
5. Repetir el proceso hasta que el usuario introduzca una cadena vacía para detenerse.

Crear un programa que lea un archivo de texto, guarde su contenido en un ArrayList y solicite al usuario que introduzca frases para buscar en el archivo.

Ejemplo de ejercicio en C#

 Copiar código C#
using System;
using System.Collections;
using System.IO;

class Program
{
    static void Main()
    {
        // Create an ArrayList to store the lines from the text file
        ArrayList lines = new ArrayList();

        // Read the content of a text file and store it in the ArrayList
        try
        {
            string[] fileLines = File.ReadAllLines("textfile.txt"); // Read the file
            foreach (string line in fileLines)
            {
                lines.Add(line);  // Add each line from the file into the ArrayList
            }
        }
        catch (FileNotFoundException)
        {
            Console.WriteLine("The file could not be found.");
            return;
        }

        // Main loop where the user enters search terms
        while (true)
        {
            Console.WriteLine("\nEnter a word or sentence to search (or press ENTER to exit): ");
            string searchTerm = Console.ReadLine();  // Get user input

            // Exit the loop if the user enters an empty string
            if (string.IsNullOrWhiteSpace(searchTerm))
            {
                break;  // Exit the program
            }

            // Flag to check if any matches are found
            bool found = false;

            // Search through the ArrayList and display matching lines
            foreach (string line in lines)
            {
                if (line.Contains(searchTerm))  // Check if the line contains the search term
                {
                    Console.WriteLine(line);  // Display the matching line
                    found = true;
                }
            }

            // If no matches were found, inform the user
            if (!found)
            {
                Console.WriteLine("No matching lines found.");
            }
        }

        // Message when exiting the program
        Console.WriteLine("Exiting program...");
    }
}

 Output

Enter a word or sentence to search (or press ENTER to exit): Dog
The quick brown dog jumped over the lazy dog.
A dog barked loudly.

Enter a word or sentence to search (or press ENTER to exit): cat
No matching lines found.

Enter a word or sentence to search (or press ENTER to exit): 
Exiting program...

Comparte este ejercicio de C#

Practica más ejercicios C# de Gestión Dinámica de Memoria en C#

¡Explora nuestro conjunto de ejercicios de práctica de C#! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C#..