Comprobar si cadena termina con en C#

Introducción

Ya vimos cómo comprobar si una cadena termina con determinado carácter en JavaScript, ahora es turno del lenguaje de programación C#. Veamos cómo comprobar si cadena termina con en C#.

Comprobar si cadena termina con en C#

El método lo tienen todas las cadenas. Se llama EndsWith y vamos a ver algunos ejemplos.

class Ejemplo{
	public static void Main(){
		string saludo = "Hola, mundo";
		if(saludo.EndsWith("o")){
			System.Console.WriteLine("Termina con la letra o");
		}else{
			System.Console.WriteLine("No termina con o");
		}
	}
}

Usamos el método EndsWith y le pasamos una subcadena o carácter. Veamos ahora este caso en donde termina con O mayúscula:

class Ejemplo{
	public static void Main(){
		string saludo = "Hola, mundO";
		if(saludo.EndsWith("o")){
			System.Console.WriteLine("Termina con la letra o");
		}else{
			System.Console.WriteLine("No termina con o");
		}
	}
}

En ese caso imprimirá “No termina con o” ya que termina con la letra mayúscula, no con minúscula.

Ignorar mayúsculas y minúsculas

Para eso sirve el segundo argumento que le pasamos a EndsWith, el cual es un booleano que indica si debe ignorar las mayúsculas y minúsculas.

Cuando pasamos el segundo argumento estamos forzados a también pasar el tercero, que es un objeto de tipo CultureInfo.

¿Por qué? bueno, normalmente creemos que las mayúsculas son el alfabeto ABCDE… y las minúsculas abcde… pero es un error.

En el alfabeto de inglés es correcto, pero tomemos el del español. Hay palabras acentuadas como José, ahí la é es una letra en minúscula y C# provee la manera de identificar el idioma con CultureInfo.

El código queda así:

using System.Globalization;
class Ejemplo{
	public static void Main(){
		string saludo = "Hola, mundO";
		CultureInfo ci = new CultureInfo("es-LA");
		if(saludo.EndsWith("o", true, ci)){
			System.Console.WriteLine("Termina con la letra o");
		}else{
			System.Console.WriteLine("No termina con o");
		}
	}
}

Le pasamos un objeto de tipo CultureInfo de es-LA, algo así como español latinoamericano. De esta manera comparará perfectamente. Veamos el caso de José:

using System.Globalization;
class Ejemplo{
	public static void Main(){
		string saludo = "ME LLAMO JOSÉ"; // En mayúscula
		CultureInfo ci = new CultureInfo("es-LA");
		if(saludo.EndsWith("é", true, ci)){
			System.Console.WriteLine("Termina con la letra é");
		}else{
			System.Console.WriteLine("No termina con é");
		}
	}
}

La salida es:

Termina con la letra é

 

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

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