Как обнаружить возврат каретки в строке - PullRequest
3 голосов
/ 15 марта 2012

Вот проблема. Я работаю над проектом в WPF и C # с платформой 4.0 .net. У меня есть строка, которую я получил из текстового поля с Accepts return = "true". Строка выглядит следующим образом

string P = @"Copyright 1995-2010 BYTES.
            All rights Reserved.
            Formerly "TheScripts.com" from 2005-2008";

Теперь я хочу определить, когда встречается символ возврата каретки. Так что я могу сократить строку до просто «Copyright 1995-2010 BYTES». и удалите все символы после возврата каретки.

Я пытался сделать это

string ip = datarow[0].ToString();
string trimed= ip.TrimEnd(new char[] {'\r','\n'});
profileFNcb.Items.Add(trimed);    

НЕ РАБОТАЕТ ПОЖАЛУЙСТА, ПОМОГИТЕ ПАРНИ

Ответы [ 4 ]

2 голосов
/ 15 марта 2012

Используйте string.Split с Environment.NewLine, чтобы разбить строку на разрывы строк:

myString.Split(new [] {Environment.NewLine}, 
               StringSplitOptions.RemoveEmptyEntries)

В результате получается массив строк, содержащий каждыйline.

Чтобы получить первую строку, предполагая, что возвращенный string[] находится в переменной lines:

string firstLine = lines[0]; // firstLine = "Copyright 1995-2010 BYTES."

Причины, по которым ваше решение не работает - только TrimEndудаляет символы из конца строки, а не из середины.

2 голосов
/ 15 марта 2012

О: Я неправильно понял ваш вопрос - это должно помочь:

string onlyCopyright = P.Substring(0, P.IndexOf("\n"));

Или даже лучше:

string onlyCopyright = P.Substring(0, P.IndexOf(Environment.NewLine));

Trim удаляет только пробелы в начале и концестрока.Вы хотите заменить:

string noNewLine = ip.Replace("\n", "").Replace("\r", "");
0 голосов
/ 15 марта 2012

Попробуйте это:

string P = @"Copyright 1995-2010 BYTES.
        All rights Reserved.
        Formerly ""TheScripts.com"" from 2005-2008";

string firstLine = P.Split(
                       new string[] { System.Environment.NewLine },
                       StringSplitOptions.RemoveEmptyEntries)
                    .FirstOrDefault()
0 голосов
/ 15 марта 2012

TrimEnd удаляет завершающие символы, он не «заканчивает» строку в первом экземпляре этих символов.Что вам нужно сделать, это найти первый экземпляр '\ r' или '\ n' и сохранить подстроку символов до этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...