¿Alguna idea?Intentando reemplazar todo el espacio en blanco con un solo espacio
Mi programa es una utilidad de validación de archivos y tengo que leer en un archivo de formato y luego analizar cada línea por un solo espacio. Pero obviamente, la persona que escribió el archivo de formato puede usar pestañas, o 2 espacios, o cualquier forma de espacio en blanco, y estoy buscando algún código para hacer eso. Intenté esto:
public static string RemoveWhitespace(this string line)
{
try
{
return new Regex(@"\s*").Replace(line, " ");
}
catch (Exception)
{
return line;
}
}
Supongo que esto es incorrecto.
Ayuda!
Si va a hacer esto muchas veces es posible que desee almacenar el constructo el objeto Regex de antemano. Un readonly estático privado sería suficiente. Luego evita la creación del motor de expresiones regulares cada vez que va a reemplazar una línea. – Skurmedel
@Skurmedel: O simplemente use el método integrado 'Regex.Replace' estático. – LukeH
@LukeH: Creo que no entendiste mi punto. Hay una razón por la cual puede preconstruir los objetos regex, y no solo para una fácil reutilización. Consulte aquí http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.aspx "Métodos estático vs Instancia". Por supuesto, si él/ella no usa 15 expresiones regulares diferentes en su aplicación, probablemente no haya ningún problema. Pero no sé su solicitud. Es por eso que dije "podría". – Skurmedel