Quiero asegurarme de que _content no termine con un carácter NewLine:
_content = sb.ToString().Trim(new char[] { Environment.NewLine });
pero el código anterior no funciona ya que Trim parece no tener un parámetro sobrecargado para una colección de cadenas, solo caracteres.
¿Cuál es la frase más simple para eliminar un Enivronment.Newline del final de una cadena?
Respuestas:
Lo siguiente funciona para mí.
o
fuente
.Trim()
elimina\r\n
para mí (usando .NET 4.0).fuente
Qué tal si:
Es algo ineficiente si hay varias líneas nuevas, pero funcionará.
Alternativamente, si no le importa recortar (digamos)
"\r\r\r\r"
o en"\n\n\n\n"
lugar de simplemente"\r\n\r\n\r\n"
:fuente
Utilice el Framework. El método ReadLine () tiene lo siguiente para decir:
Entonces lo siguiente hará el truco
fuente
Qué pasa
fuente
Esto, por supuesto, eliminará "\ r \ r \ r \ r", así como "\ n \ n \ n \ n" y otras combinaciones. Y en "entornos" donde NewLine es diferente a "\ n \ r", es posible que obtenga algunos comportamientos extraños :-)
Pero si puede vivir con esto, entonces creo que esta es la forma más efectiva de eliminar caracteres de nueva línea al final de una cadena.
fuente
¿Qué tal solo:
Eso extraerá todos los caracteres de espacio en blanco del final de la cadena, solo un problema si desea conservar los espacios en blanco que no son de nueva línea.
fuente
Algo que no es una respuesta, pero la forma más fácil de recortar una nueva línea de una cadena es no tener la nueva línea en la cadena en primer lugar, asegurándose de que su propio código nunca la vea. Es decir, utilizando funciones nativas que eliminan la nueva línea. Muchos métodos de flujo y archivo / io no incluirán la nueva línea si solicita la salida línea por línea, aunque puede ser necesario ajustar algo en un archivo
System.IO.BufferedStream
.Cosas como
System.IO.File.ReadAllLines
se pueden usar en lugar de laSystem.IO.File.ReadAllText
mayor parte del tiempo yReadLine
se pueden usar en lugar deRead
una vez que esté trabajando con el tipo correcto de flujo (por ejemploBufferedStream
).fuente
Como Markus señaló, TrimEnd está haciendo el trabajo ahora. Necesitaba obtener avances de línea y espacios en blanco de ambos extremos de la cadena en el entorno de Windows Phone 7.8. Después de haber perseguido diferentes opciones más complejas, mi problema se resolvió usando solo Trim (): pasó las siguientes pruebas muy bien
fuente
Tuve que eliminar las nuevas líneas en todo el texto. Entonces usé:
fuente