11 ответов:
это будет обрезать любую комбинацию возвратов каретки и новых строк с конца
s:s = s.TrimEnd(new char[] { '\r', '\n' });Edit: или, как любезно указывает JP, вы можете написать это более кратко, как:
s = s.TrimEnd('\r', '\n');
Если вы используете несколько платформ, вы безопаснее использовать этот метод.
value.TrimEnd(System.Environment.NewLine.ToCharArray());он будет учитывать различные символы новой строки и возврата каретки.
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. Кэш регулярное выражение для производительности.
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, "");и теперь у нас есть четкое одну строку
Comments