Как разделить строки на возврат каретки с помощью C#?
У меня есть ASP.NET страница с многострочным текстовым полем txbUserName. Затем я вставляю в текстовое поле 3 названия, и они выровнены по вертикали:
- Джейсон
- Ammy
- Карен
Я хочу иметь возможность каким-то образом взять имена и разделить их на отдельные строки всякий раз, когда я обнаруживаю возврат каретки или новую строку. я думаю, что массив может быть путь. Есть идеи?
спасибо.
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(); } }