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


У меня есть ASP.NET страница с многострочным текстовым полем txbUserName. Затем я вставляю в текстовое поле 3 названия, и они выровнены по вертикали:

  • Джейсон
  • Ammy
  • Карен

Я хочу иметь возможность каким-то образом взять имена и разделить их на отдельные строки всякий раз, когда я обнаруживаю возврат каретки или новую строку. я думаю, что массив может быть путь. Есть идеи?

спасибо.

6 51

6 ответов:

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".

заменить \r\n С \n, затем с помощью \n:

string[] arr = txbUserName.Text.Replace("\r\n", "\n").Split("\n".ToCharArray());

взгляните на строку.Функция разделения (не уверен в точном синтаксисе, нет IDE передо мной).

string[] names = txbUserName.Text.Split(Environment.Newline);
using System.Text;
using System.Text.RegularExpressions;


 protected void btnAction_Click(object sender, EventArgs e)
    {
        string value = txtDetails.Text;
        char[] delimiter = new char[] { ';','[' };
        string[] parts = value.Split(delimiter, StringSplitOptions.RemoveEmptyEntries);
        for (int i = 0; i < parts.Length; i++)
        {
            txtFName.Text = parts[0].ToString();
            txtLName.Text = parts[1].ToString();
            txtAge.Text = parts[2].ToString();
            txtDob.Text = parts[3].ToString();
        }
    }

String.Split?

mystring.Split(new Char[] { '\n' })

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

message.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

если :

var message = "test 1\r\ntest 2";

или

var message = "test 1\ntest 2";

или

var message = "test 1\rtest 2";