Comment supprimer le caractère de retour chariot (\r)
et le nouveau caractère de ligne (\n)
à la fin d'une chaîne?Suppression du retour chariot et de la nouvelle ligne à partir de la fin d'une chaîne dans C#
Répondre
Cela couper toute combinaison des retours et des retours à la ligne transport de la fin de s
:
s = s.TrimEnd(new char[] { '\r', '\n' });
Modifier: Ou comme JP souligne gentiment, vous pouvez épeler plus succinctement:
s = s.TrimEnd('\r', '\n');
Cela devrait fonctionner ...
var tst = "12345\n\n\r\n\r\r";
var res = tst.TrimEnd('\r', '\n');
S'il y a toujours un seul CRLF, puis:
myString = myString.Substring(0, myString.Length - 2);
Si elle peut ou ne peut pas l'avoir, alors:
Regex re = new Regex("\r\n$");
re.Replace(myString, "");
Ces deux (par la conception), enlèvera au plus un seul CRLF . Cache l'expression rationnelle pour la performance.
String temp = s.replace("\r\n","").trim();
s
étant la chaîne d'origine.
Cela va aussi: 1) Supprimer \ r \ n du milieu de la chaîne, 2) Supprimer les caractères d'espaces depuis le début de la chaîne, et 3) supprimer tous les caractères d'espaces de la fin de la chaîne. – RichieHindle
Vrai, j'ai supposé seulement un/r/n à la fin. Ce n'était pas mentionné dans le message original. Je ne suis pas sûr que warrents un vote -1 – Crash893
Exactement ce que je cherchais. Merci. – NotMe
Pour nous VBers:
TrimEnd(New Char() {ControlChars.Cr, ControlChars.Lf})
string k = "This is my\r\nugly string. I want\r\nto change this. Please \r\n help!";
k = System.Text.RegularExpressions.Regex.Replace(k, @"\r\n+", " ");
varName.replace(/[\r\n]/mg, '')
C'était trop facile - pour moi je filtrer certains articles de courrier électronique. J'écris mon propre filtre de courrier indésirable personnalisé. Avec \ r et/ou \ n dans la chaîne, il effaçait tous les éléments au lieu de filtrer. Donc, je viens de faire filter = filter.Remove ('\ n') et filter = filter.Remove ('\ r'). Je crée mon filtre de sorte qu'un utilisateur final puisse utiliser le Bloc-notes pour éditer directement le fichier afin de ne pas savoir où ces caractères pourraient s'incorporer eux-mêmes - pourrait être autre chose que le début ou la fin de la chaîne. Donc, les enlever tous le fait.
Les autres entrées tous les travaux, mais Supprimer pourrait être le plus facile?
j'ai appris un peu plus sur Regex de ce poste - travail assez cool avec son utilisation ici.
On dirait que vous pourriez faire juste 'filter = filter.Remove ('\ n'). Remove ('\ r');' –
Si vous utilisez plusieurs plates-formes, vous êtes plus en sécurité en utilisant cette méthode.
value.TrimEnd(System.Environment.NewLine.ToCharArray());
Il tiendra compte des différents caractères de retour chariot et retour chariot.
La méthode de JP - 'tst.TrimEnd ('\ r', ' \ n ') '- est raisonnablement" sûr "dans la pratique puisque les principaux EOL ne sont [actuellement] que des combos différents de" \ r "et" \ n ", mais alexw est la" bonne "réponse. * Laissez le CLR vous dire quels caractères sont dans la nouvelle ligne de cette plate-forme. * [EOL n'a pas toujours été des combos de 0Ds et 0As] (http://en.wikipedia.org/wiki/Newline#Representations) – ruffin
J'avais l'habitude d'utiliser 'Environment.NewLine' mais il ne semblait pas gérer les instances où' \ r' était présent sans \ n. 'TrimEnd ('r', '\ n')' semble être plus fiable dans ce cas. –
Il se peut qu'il s'agisse en fait d'un problème multiplate-forme et que dec doit supprimer spécifiquement les deux \ r \ n, indépendamment de ce que dit l'environnement système. –
s.TrimEnd();
Ce qui précède est tout ce dont j'avais besoin pour supprimer '\ r \ n' de la fin de ma chaîne.
La réponse me semble upvoted tort. Premièrement, cela n'a pas fonctionné quand j'ai essayé, deuxièmement, si cela a fonctionné, je m'attendrais à ce que l'art.TrimEnd ('\ r', '\ n') supprimerait seulement soit un '\ r' ou un '\ n', donc je devrais l'exécuter deux fois sur ma chaîne - une fois pour '\ n' était à la fin et la deuxième fois quand '\ r' était à la fin (maintenant que le '\ n' avait été enlevé).
-je utiliser beaucoup d'effacer le niveau
String donen = "lots of stupid whitespaces and new lines and others..."
//Remove multilines
donen = Regex.Replace(donen, @"^\s+$[\r\n]*", "", RegexOptions.Multiline);
//remove multi whitespaces
RegexOptions options = RegexOptions.None;
Regex regex = new Regex("[ ]{2,}", options);
donen = regex.Replace(donen, " ");
//remove tabs
char tab = '\u0009';
donen = donen.Replace(tab.ToString(), "");
//remove endoffile newlines
donen = donen.TrimEnd('\r', '\n');
//to be sure erase new lines again from another perspective
donen.Replace(Environment.NewLine, "");
et nous avons maintenant une ligne
- 1. requête SQL pour un retour chariot dans une chaîne et, finalement, enlever retour chariot
- 2. Expression régulière pour le retour de chariot survenant au début ou à la fin du fichier
- 3. Le retour à la ligne automatique et le retour chariot ne fonctionnent pas à l'intérieur de la zone de texte
- 4. Retour chariot et sauts de ligne dans SQL Server
- 5. MySQL: retour chariot dans la requête
- 6. UITextAssocier du texte à la nouvelle ligne
- 7. TextBox let '\ n' le retour de chariot
- 8. C++ Supprimer une nouvelle ligne de la chaîne multiligne
- 9. vba userforms comportement de retour chariot
- 10. ifstream, fin de ligne et passer à la ligne suivante?
- 11. Définition du caractère de fin de ligne grep
- 12. Évitez d'entrer des guillemets à partir du début et de la fin d'une chaîne
- 13. blanc garniture de retour à la ligne chaîne en Ruby
- 14. Comment supprimer des chiffres et du texte à partir de la fin d'une chaîne en Javascript
- 15. Regex pour découper les traits d'union à partir du début et de la fin d'une chaîne
- 16. iPhone UITextField: comment insérer une nouvelle ligne avec la touche de retour?
- 17. Retour chariot dans XmlNode Innertext
- 18. Comportement de la clé de suppression en fin de ligne dans Visual Studio
- 19. Clarification/suppression des problèmes de fin de ligne dans GIT
- 20. MVC Preserve retour chariot - saut de ligne en html
- 21. Fin de la ligne sur Windows cmd
- 22. Numéro de correspondance à la fin de la chaîne
- 23. Retour à la ligne dans Firefox 2.0
- 24. Retour du tableau à partir de la méthode
- 25. Expressions régulières _ # à la fin de la chaîne
- 26. Panneau avec retour à la ligne et saut de ligne dans Java Swing
- 27. Problème Vérification de la fin d'une chaîne
- 28. Comment chercher retour chariot dans Eclipse
- 29. Insérer le caractère de retour chariot dans vim
- 30. Java: lecture de la nouvelle ligne à partir d'un fichier texte
propre Prenez note du mot-clé params dans la déclaration de TrimEnd, il vous a laissé passer plusieurs instances d'un caractère au lieu du tableau. http://msdn.microsoft.com/en-us/library/w5zay9db(VS.71).aspx –
Que diriez-vous de ceci: s = s.TrimEnd (System.Environment.NewLine.ToCharArray()); –
J'ai écrit C# depuis que v1.0 est sorti (il y a 10 ans). Maintenant vous me parlez de TrimEnd. Doh! – s15199d