Estoy tratando de ignorar la ambigüedad en su pregunta original, y leerlo literalmente. Aquí hay un método de extensión que sobrecarga TrimEnd para tomar una cadena.
static class StringExtensions
{
public static string TrimEnd(this string s, string remove)
{
if (s.EndsWith(remove))
{
return s.Substring(0, s.Length - remove.Length);
}
return s;
}
}
Estas son algunas pruebas para demostrar que funciona:
Debug.Assert("abc".TrimEnd("<br>") == "abc");
Debug.Assert("abc<br>".TrimEnd("<br>") == "abc");
Debug.Assert("<br>abc".TrimEnd("<br>") == "<br>abc");
quiero señalar que esta solución es más fácil de leer que la expresión regular, probablemente más rápido que la expresión regular (se debe utilizar un generador de perfiles, no especulación, si le preocupa el rendimiento), y útil para eliminar otras cosas de los extremos de las cadenas.
expresiones regulares se vuelve más apropiado si su problema es más general que usted declaró (por ejemplo, si desea eliminar <BR>
y </BR>
y tratar con espacios a la derecha o lo que sea.
¿Qué hay de
? ¿Qué hay detrás de espacio? Sírvanse proporcionar más detalles, en vez de hacernos especular. –