Vous pouvez utiliser la méthode String.Replace
:
string str = sr.ReadToEnd().Replace("\r", "").Replace("\n", "");
Cependant ce n'est pas une très bonne idée si la chaîne est long et vous avez une longue liste de caractères illégaux, car chaque appel à Replace
va créer une nouvelle instance de String
. Une meilleure option serait de filtrer les caractères illégaux LINQ:
char[] illegalChars = new[] { '\r', '\n' }; // add other illegal chars if needed
char[] chars = sr.ReadToEnd().Where(c => !illegalChars.Contains(c)).ToArray();
string str = new String(chars);
Cependant l'appel à Contains
ajoute les frais généraux, il est plus rapide de tester directement contre chaque caractère illégal:
char[] chars = sr.ReadToEnd().Where(c => c != '\r' && c != '\n').ToArray();
string str = new String(chars);
Et pour être complet , voici une version encore plus rapide:
StringBuilder sb = new StringBuilder();
foreach(char c in sr.ReadToEnd())
{
if (c != '\r' && c != '\n')
sb.Append(c);
}
string str = sb.ToString();
Vous savez probablement que/r/n fait référence à un saut de ligne? – Rushyo