Programa C# para contar líneas en una string

En C#, una string es una secuencia de caracteres Unicode o una array de caracteres. El rango de caracteres Unicode será de U+0000 a U+FFFF. Una string es la representación del texto. En este artículo, crearemos un programa C# que contará las líneas presentes en la string dada. 

Ejemplo: 

Input  : hey geeks\n welcome to \n geeksforgeeks \n happy learning
Output : 4

Input  : welcome\n to geeksforgeeks
Output : 2

Entonces podemos hacer esta tarea usando los siguientes métodos:

  • Contando el carácter de nueva línea
  • Usando el método Split()
  • Usando el método Regex.Matches
  • Usando el método IndexOf()

Método 1: contar caracteres de nueva línea

Dada una string con varias líneas, necesitamos encontrar una cantidad de líneas presentes en la string. Como sabemos, las líneas de una string están separadas por un carácter de nueva línea (es decir, \n). Así que usamos el siguiente enfoque para contar el número de líneas presentes en la string.

Acercarse:

  • Inicialice la cuenta variable a cero.
  • Usando un bucle for iterar la string dada.
  • si se encuentra un carácter de nueva línea (\n), incremente el valor de count en 1.
  • Al final de la iteración, la variable de conteo será el valor del número de líneas presentes en la string dada.

Ejemplo:

En este ejemplo, la string completa asignada en la variable «inputstr» se repetirá de izquierda a derecha si se encuentra un carácter de nueva línea, entonces representa que se inicia una nueva línea, por lo que incrementamos el recuento del número de líneas en 1. En al final obtendrá el número de líneas en la string.

C#

// C# program to display the total number of lines
// present in the given string
using System;
 
class GFG{
     
static void Main()
{
     
    // Initializing a string with multiple lines.
    string intputstr = "hey geeks\n welcome to \n " +
                       "geeksforgeeks \n happy learning ";
    int count = 1;
     
    Console.WriteLine("Input String:\n" + intputstr);
     
    // Iterating the string from left to right
    for(int i = 0; i < intputstr.Length; i++)
    {
         
        // Checking if the character encountered is
        // a newline character if yes then increment
        // the value of count variable
        if (intputstr[i] == '\n')
            count++;
    }
     
    // Print the count
    Console.Write("\nNumber of new lines:" + count);
}
}

Producción:

Input String:
hey geeks
welcome to
geeksforgeeks
happy learning

Number of new lines:4

Método 2: Usar el método Split()

El método Split() devuelve una array de strings generadas al dividir la string separada por los delimitadores pasados ​​como parámetro en el método Split(). Aquí pasamos \n como parámetro al método Split(), esto divide la línea en strings y crea una array de líneas. Ahora encuentre la longitud de la array que da el número de líneas presentes en la string.

Sintaxis:

str.Dividir(‘\n’).Longitud

Ejemplo:

En este ejemplo, la string dada asignada en la variable «inputstr» se divide en una array de strings, la división se realiza en cada posición donde hay un carácter de nueva línea. Ahora la longitud de la array es el número de nuevas líneas presentes en la string.

C#

// C# program to display the total number of lines
// present in the given string. Using Split() method
using System;
 
class GFG{
     
static void Main()
{
    // Initializing a string with multiple lines.
    string intputstr = "hey geeks\n welcome to \n " +
                       "geeksforgeeks \n happy learning ";
     
    Console.WriteLine("Input String:\n" + intputstr);
                        
    // Now the Split('\n') method splits the newline
    // characters and returns an array of strings and
    // the Length is used to find the length of the array.
    int result = intputstr.Split('\n').Length;
     
    // Print the count
    Console.Write("\nNumber of new lines:" + result);
}
}

Producción:

Input String:
hey geeks
welcome to
geeksforgeeks
happy learning

Number of new lines:4

Método 3: Usar el método Regex.Matches()

También podemos contar el número de líneas presentes en la string dada usando el método Regex.Matches(). Esto se usa para buscar en la string de entrada especificada todas las apariciones de una expresión regular determinada.

Sintaxis:

Regex.Matches(string inputstr, string matchpattern)

Aquí, este método toma dos parámetros llamados «inputstr», que representa la string de entrada para buscar una coincidencia, y «matchpattern», que representa el patrón de expresión regular para que coincida con inputstr.

Ejemplo: 

En este ejemplo, pasaremos una expresión regular \n” en los métodos Matches() y encontraremos el número de ocurrencias de la misma y al agregarle uno obtendremos el número de líneas en la string.

C#

// C# program to count the lines in the given string
// Using Regular Expressions
using System;
using System.Text.RegularExpressions;
class GFG{
     
static void Main()
{
     
    // Input string
    string inputstr = "hey geeks\n welcome to \n " +
                       "geeksforgeeks \n happy learning ";
     
    Console.WriteLine("Input string:" + inputstr);
     
    // Passing string and regular expression to the
    // matches method we are adding 1 to number of
    // occurrences of \n because we will not have
    // \n at the end of last line
    int result = Regex.Matches(inputstr, "\n").Count + 1;
    Console.Write("Total number of lines: " + result);
}
}

Producción:

Input string:hey geeks
welcome to
geeksforgeeks
happy learning
Total number of lines: 4

Método 4: Uso del método IndexOf()

También podemos contar el número de líneas presentes en la string dada usando el método IndexOf() . Este método se usa para encontrar el índice basado en cero de la primera aparición del carácter dado en la string dada. En este método, la búsqueda del carácter especificado comienza desde la posición especificada y si no se encuentra el carácter, devolverá -1.

Sintaxis: 

índice público int(char y, int startchar)

Este método toma dos parámetros, el primer parámetro es char y, representa el carácter que se buscará y el segundo parámetro es startchar representa la posición de inicio en forma de un valor entero desde donde se iniciará la búsqueda.

Ejemplo:

En este ejemplo, el bucle while cuenta el número total de saltos de línea presentes en «inputstr». En este ciclo while, usamos el método IndexOf() en el que pasamos «inputstr» y «\n», luego verificamos que el índice de la secuencia sea verdadero, si el valor de la condición especificada es verdadero, luego ejecutamos el especificado declaraciones y mostrar la salida.

C++

// C# program to count the lines in the given string
// Using Regular Expressions
using System;
using System.Text.RegularExpressions;
class GFG{
     
static void Main()
{
     
    // Input string
    string inputstr = "hey geeks\n welcome to \n " +
                       "geeksforgeeks \n happy learning ";
     
    // Display the input string
    Console.WriteLine("Input string:" + inputstr);
     
    int countlines = 1;
    int startingpoint = 0;
     
    // Here the while loop counts the number
    // of lines present in the given string
    // Using IndexOf() method.
    while ((startingpoint = inputstr.IndexOf(
            '\n', startingpoint)) != -1)
    {
        countlines++;
        startingpoint++;
    }
     
    Console.Write("Total number of lines: " + countlines);
}
}

Producción:

Input string:hey geeks
welcome to
geeksforgeeks
happy learning
Total number of lines: 4

Publicación traducida automáticamente

Artículo escrito por pulamolusaimohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *