Удаление возврата каретки и новой строки из конца строки в c#



Как удалить символ возврата каретки (r) и новый символ строки(n) С конца строки?

1771   11  

11 ответов:

это будет обрезать любую комбинацию возвратов каретки и новых строк с конца s:

s = s.TrimEnd(new char[] { '\r', '\n' });

Edit: или, как любезно указывает JP, вы можете написать это более кратко, как:

s = s.TrimEnd('\r', '\n');

Это должно работать ...

var tst = "12345\n\n\r\n\r\r";
var res = tst.TrimEnd( '\r', '\n' );

Если вы используете несколько платформ, вы безопаснее использовать этот метод.

value.TrimEnd(System.Environment.NewLine.ToCharArray());

он будет учитывать различные символы новой строки и возврата каретки.

String temp = s.replace("\r\n","").trim();

s будучи исходной строки.

s.TrimEnd();

выше все, что мне нужно, чтобы удалить '\r\n' из конца моей строки.

поддержанный ответ кажется мне неправильным. Во-первых, это не сработало, когда я попытался, во-вторых, если бы это сработало, я ожидал бы, что s.TrimEnd('\r', '\n') будет только удалять или a '\r 'или A' \n', поэтому мне пришлось бы запустить его по моей строке дважды - один раз, когда' \n 'был в конце, и второй раз, когда' \r 'был в конце (теперь, когда' \n ' был удален).

Если всегда есть один CRLF, то:

myString = myString.Substring(0, myString.Length - 2);

если он может или не может иметь его, то:

Regex re = new Regex("\r\n$");
re.Replace(myString, "");

оба из них (по дизайну) удалят не более одного CRLF. Кэш регулярное выражение для производительности.

для нас 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+", " ");

Это было слишком просто для меня я пытаюсь отфильтровать некоторые элементы электронной почты. Я пишу свой собственный фильтр нежелательной почты. С \r и / или \n в строке он стирал все элементы вместо фильтрации.

Итак, я только что сделал filter = filter.Удалить ('\n') и filter = Фильтр.Удалить('\Р'). Я делаю свой фильтр таким образом, что конечный пользователь может использовать блокнот для непосредственного редактирования файла, поэтому нет никакой информации о том, где эти символы могут вставляться-могут быть другими, чем в начале или в конце из строки. Поэтому удаление их всех делает это.

остальные записи все работают, но удалить может быть проще всего?

Я узнал совсем немного больше о регулярном выражении из этого поста - довольно крутая работа с его использованием здесь.

Я использую много стирания уровня

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, "");

и теперь у нас есть четкое одну строку

varName.replace(/[\r\n]/mg, '')                                              

Comments

    Ничего не найдено.