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 é

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto