Как разделить строки на возврате каретки с C#?

Одна проблема с ответ Dave L. - когда s2 содержит regex разметку такой как \d, и т.д.

Вы хотите назвать Pattern.quote () на s2:

Pattern.compile(Pattern.quote(s2), Pattern.CASE_INSENSITIVE).matcher(s1).find();

56
задан Aify 29 June 2015 в 23:10
поделиться

4 ответа

string[] result = input.Split(new string[] {"\n", "\r\n"}, StringSplitOptions.RemoveEmptyEntries);

Это охватывает как \ n, так и \ r \ n типы новой строки и удаляет все пустые строки, которые могут вводить ваши пользователи.

Я тестировал, используя следующий код:

        string test = "PersonA\nPersonB\r\nPersonC\n";
        string[] result = test.Split(new string[] {"\n", "\r\n"}, StringSplitOptions.RemoveEmptyEntries);
        foreach (string s in result)
            Console.WriteLine(s);

И он работает правильно, разбиение на массив из трех строк с записями "PersonA", "PersonB" и "PersonC".

127
ответ дан 26 November 2019 в 17:10
поделиться

Замените любой \ r \ n на \ n , затем разделите его, используя \ n :

string[] arr = txbUserName.Text.Replace("\r\n", "\n").Split("\n".ToCharArray());
7
ответ дан 26 November 2019 в 17:10
поделиться

String.Split ?

mystring.Split(new Char[] { '\n' })
1
ответ дан 26 November 2019 в 17:10
поделиться

Обратите внимание на функцию String.Split (не уверен в точном синтаксисе, нет IDE передо мной).

string[] names = txbUserName.Text.Split(Environment.Newline);
4
ответ дан 26 November 2019 в 17:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: