Вы можете использовать String.Replace
метод:
string str = sr.ReadToEnd().Replace("\r", "").Replace("\n", "");
Однако это не очень хорошая идея, если строка и у вас длинный список незаконных символов, потому что каждый вызов Replace
создаст новый экземпляр String
. Лучшим вариантом было бы, чтобы отфильтровать недопустимые символы с помощью 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);
Однако вызов Contains
добавляет накладные расходы, это быстрее, чтобы проверить непосредственно друг против незаконного характера:
char[] chars = sr.ReadToEnd().Where(c => c != '\r' && c != '\n').ToArray();
string str = new String(chars);
И для полноты , вот еще быстрее версия:
StringBuilder sb = new StringBuilder();
foreach(char c in sr.ReadToEnd())
{
if (c != '\r' && c != '\n')
sb.Append(c);
}
string str = sb.ToString();
Предположительно, вы знаете, что/r/n относится к разрыву строки? – Rushyo