Quero ter certeza de que _content não termina com um caractere NewLine:
_content = sb.ToString().Trim(new char[] { Environment.NewLine });
mas o código acima não funciona, pois Trim parece não ter um parâmetro sobrecarregado para uma coleção de strings, apenas caracteres.
Qual é a linha mais simples para remover um Enivronment.Newline do final de uma string?
Respostas:
O seguinte funciona para mim.
ou
fonte
.Trim()
remove\r\n
para mim (usando .NET 4.0).fonte
E se:
É um tanto ineficiente se houver várias novas linhas, mas funcionará.
Alternativamente, se você não se importar em cortar (digamos)
"\r\r\r\r"
ou em"\n\n\n\n"
vez de apenas"\r\n\r\n\r\n"
:fonte
Use o Framework. O método ReadLine () tem o seguinte a dizer:
Então, o seguinte fará o truque
fonte
A respeito
fonte
Naturalmente, isso removerá "\ r \ r \ r \ r", bem como "\ n \ n \ n \ n" e outras combinações. E em "ambientes" onde NewLine é diferente de "\ n \ r" você pode ter alguns comportamentos estranhos :-)
Mas se você consegue conviver com isso, acredito que essa é a maneira mais eficaz de remover novos caracteres de linha no final de uma string.
fonte
Que tal apenas:
Isso puxará todos os caracteres de espaço em branco do final da string - um problema apenas se você quiser preservar os espaços em branco que não sejam de nova linha.
fonte
Um pouco sem resposta, mas a maneira mais fácil de cortar uma nova linha de uma string é não ter a nova linha na string em primeiro lugar, garantindo que ela nunca seja vista por seu próprio código. Ou seja, usando funções nativas que removem a nova linha. Muitos métodos stream e file / io não incluirão a nova linha se você solicitar a saída linha por linha, embora possa ser necessário envolver algo em um
System.IO.BufferedStream
.Coisas como
System.IO.File.ReadAllLines
podem ser usadas no lugar naSystem.IO.File.ReadAllText
maior parte do tempo eReadLine
podem ser usadas em vez deRead
quando você estiver trabalhando com o tipo certo de fluxo (por exemploBufferedStream
).fonte
Como Markus apontou, TrimEnd está fazendo o trabalho agora. Eu precisava obter avanços de linha e espaço em branco de ambas as extremidades da string no ambiente do Windows Phone 7.8. Depois de ter perseguido diferentes opções mais complexas, meu problema foi resolvido usando apenas Trim () - passou bem nos seguintes testes
fonte
Tive que remover as novas linhas de todo o texto. Então eu usei:
fonte