Operaciones con cadenas en C#
Apprenez à manipuler les chaînes de caractères en C#, y compris la concaténation, la recherche, substring, IndexOf et plus encore.
En C#, string es uno de los tipos de datos más utilizados y representa datos textuales.
Se pueden realizar muchas operaciones con cadenas, como concatenación, búsqueda, conversión y formato.
En este artículo exploraremos los métodos básicos y las características útiles de las cadenas con ejemplos.
Definición y concatenación de cadenas
Las cadenas se definen entre comillas dobles. La concatenación puede hacerse con el operador + o con interpolación.
string nombre = "Carlos";
string apellido = "García";
string nombreCompleto1 = nombre + " " + apellido;
string nombreCompleto2 = $"{nombre} {apellido}";
Console.WriteLine(nombreCompleto1);
Console.WriteLine(nombreCompleto2);
Longitud y acceso a caracteres
La longitud de una cadena se obtiene con la propiedad Length. Para acceder a un carácter específico se usan corchetes.
string palabra = "Hola";
Console.WriteLine(palabra.Length); // 4
Console.WriteLine(palabra[0]); // H
Subcadena
Para extraer una parte específica de una cadena se utiliza el método Substring.
string texto = "Programación";
string parte = texto.Substring(0, 7); // "Program"
Console.WriteLine(parte);
Búsqueda y comprobación
Existen varios métodos para buscar en las cadenas o verificar condiciones de inicio/fin.
string mensaje = "Hoy el clima está agradable";
Console.WriteLine(mensaje.Contains("clima")); // True
Console.WriteLine(mensaje.StartsWith("Hoy")); // True
Console.WriteLine(mensaje.EndsWith("malo")); // False
Console.WriteLine(mensaje.IndexOf("clima")); // 7
Conversión a mayúsculas / minúsculas
Para convertir los caracteres de una cadena a mayúsculas o minúsculas se usan los métodos ToUpper y ToLower.
string ciudad = "Madrid";
Console.WriteLine(ciudad.ToUpper()); // MADRID
Console.WriteLine(ciudad.ToLower()); // madrid
Operaciones Trim
Para eliminar los espacios al principio o al final de una cadena se usa Trim.
string datos = " Hola ";
Console.WriteLine(datos.Trim()); // "Hola"
Console.WriteLine(datos.TrimStart()); // "Hola "
Console.WriteLine(datos.TrimEnd()); // " Hola"
Replace y Remove
Para reemplazar caracteres o palabras en una cadena se usa Replace. Para eliminar una parte específica se usa Remove.
string texto = "C# programación";
Console.WriteLine(texto.Replace("C#", "Java")); // Java programación
string eliminar = "Hola Mundo";
Console.WriteLine(eliminar.Remove(5)); // "Hola"
Split y Join
Para dividir una cadena según un delimitador específico se utiliza Split. Para unir un arreglo de cadenas se usa Join.
string oracion = "manzana,pera,fresa";
string[] frutas = oracion.Split(',');
foreach (var f in frutas)
Console.WriteLine(f);
string combinado = string.Join(" - ", frutas);
Console.WriteLine(combinado);
Formato de cadenas
Las cadenas se pueden formatear con string.Format o con interpolación.
double precio = 49.9;
Console.WriteLine(string.Format("Precio: {0:C}", precio));
Console.WriteLine($"Precio: {precio:0.00} EUR");
Secuencias de escape
Las secuencias de escape se utilizan para representar caracteres especiales en una cadena.
\n: Nueva línea\t: Tabulación (espacio)\\: Barra invertida\": Comillas dobles\': Comillas simples
string ejemplo = "Dos\nLíneas";
string cita = "El profesor dijo: \"Hagan su tarea este fin de semana.\"";
Console.WriteLine(ejemplo);
// Salida:
Dos
Líneas
El profesor dijo: "Hagan su tarea este fin de semana."
Aplicación de ejemplo
Dividamos las palabras en una oración introducida por el usuario, contemos cuántas son y mostremos todas en mayúsculas.
Console.Write("Ingrese una oración: ");
string oracion = Console.ReadLine();
string[] palabras = oracion.Split(' ');
Console.WriteLine("Número de palabras: " + palabras.Length);
foreach (string p in palabras)
Console.WriteLine(p.ToUpper());