Quelle est la façon la plus simple en C# pour couper un saut de ligne et hors d'une chaîne de caractères?
Je veux faire en sorte que _content ne se termine pas par un caractère de Saut de ligne:
_content = sb.ToString().Trim(new char[] { Environment.NewLine });
mais la code ci-dessus ne fonctionne pas depuis Garniture semble pas avoir une surcharge de paramètre pour une collection de chaînes de caractères, seuls les personnages.
Quel est le plus simple one-liner pour supprimer un Enivronment.De retour à la ligne à partir de la fin d'une chaîne de caractères?
- btw, vous voulez probablement TrimEnd
Vous devez vous connecter pour publier un commentaire.
La suivante fonctionne pour moi.
ou
.Trim()
supprime\r\n
pour moi (à l'aide .NET 4.0).Comment sur:
C'est quelque peu inefficace s'il y a plusieurs retours à la ligne, mais ça va marcher.
Sinon, si vous n'avez pas l'esprit, il parage (dire)
"\r\r\r\r"
ou"\n\n\n\n"
plutôt que de simplement"\r\n\r\n\r\n"
:Utiliser le Cadre. La ReadLine() la méthode a ceci à dire:
Donc la suite fera l'affaire
Ce sujet
Bien sûr, ce supprimer "\r\r\r\r" ainsi que "\n\n\n\n" et d'autres combinaisons.
Et dans les "milieux" où le retour à la ligne est autre que "\n\r" vous risquez d'avoir des comportements étranges 🙂
Mais si vous pouvez vivre avec cela, alors je trouve que c'est la plupart de façon efficace moyen de supprimer les caractères de nouvelle ligne à la fin d'une chaîne.
Que diriez-vous simplement:
Qui va tirer tous les espaces de la fin de la chaîne, mais seulement un problème si vous voulait préserver la non-saut de ligne et d'espace.
Un peu de non-réponse, mais le moyen le plus facile de couper un saut de ligne et hors d'une chaîne est de ne pas avoir le caractère de saut de ligne sur la chaîne en premier lieu, en s'assurant qu'il est n'est jamais vu par votre propre code. C'est, en utilisant les fonctions natives qui supprimer le saut de ligne. De nombreux flux et le fichier/io méthodes incluent pas le retour à la ligne si vous demandez pour la sortie ligne par ligne, mais il peut être nécessaire d'envelopper quelque chose dans un
System.IO.BufferedStream
.Des choses comme
System.IO.File.ReadAllLines
peut être utilisé à la place deSystem.IO.File.ReadAllText
la plupart du temps, etReadLine
peut être utilisé à la place deRead
une fois que vous travaillez avec le bon type de flux (par exemple,BufferedStream
).Que Markus a souligné TrimEnd est en train de faire le travail maintenant. J'avais besoin d'obtenir des retours à la ligne et les espaces blancs des deux extrémités de la chaîne dans Windows Phone 7.8 de l'environnement. Après avoir chassé différentes des options plus complexes, mon problème a été résolu en utilisant Trim() seulement passé les tests suivants joliment
J'ai dû enlever les nouvelles lignes partout dans le texte. J'ai donc utilisé: