Reemplazar saltos de línea en una cadena C#
¿Cómo puedo reemplazar los saltos de línea dentro de una cadena en C#?
Utilice reemplazar conEnvironment.NewLine
myString = myString.Replace(System.Environment.NewLine, "replacement text"); //add a line terminating ;
Como se mencionó en otras publicaciones, si la cadena proviene de otro entorno (SO), entonces deberá reemplazar la implementación de ese entorno particular de caracteres de control de nueva línea .
Las soluciones publicadas hasta ahora solo reemplazan Environment.NewLine
o fallan si la cadena de reemplazo contiene saltos de línea porque llaman string.Replace
varias veces.
Aquí hay una solución que usa una expresión regular para realizar los tres reemplazos en una sola pasada sobre la cadena. Esto significa que la cadena de reemplazo puede contener saltos de línea de manera segura.
string result = Regex.Replace(input, @"\r\n?|\n", replacementString);
Para ampliar la respuesta de The.Anyi.9, también debes tener en cuenta los diferentes tipos de salto de línea de uso general . Dependiendo de dónde se originó su archivo, es posible que desee asegurarse de captar todas las alternativas...
string replaceWith = "";
string removedBreaks = Line.Replace("\r\n", replaceWith).Replace("\n", replaceWith).Replace("\r", replaceWith);
debería ponerte en marcha...
Usaría Environment.Newline cuando quisiera insertar una nueva línea para una cadena, pero no para eliminar todas las nuevas líneas de una cadena.
Dependiendo de su plataforma, puede tener diferentes tipos de nuevas líneas, pero incluso dentro de la misma plataforma a menudo se utilizan diferentes tipos de nuevas líneas. En particular cuando se trata de formatos y protocolos de archivos.
string ReplaceNewlines(string blockOfText, string replaceWith)
{
return blockOfText.Replace("\r\n", replaceWith).Replace("\n", replaceWith).Replace("\r", replaceWith);
}