如何拆分string回车与C#?

我有一个称为txbUserName的多行文本框的ASP.NET页面。 然后我粘贴到文本框3名称,他们是垂直alignment的:

  • 贾森
  • 书童
  • 卡伦

我希望能够以某种方式采取名称,并分裂成不同的string,每当我检测到回车或新行。 我在想,一个数组可能是要走的路。 有任何想法吗?

谢谢。

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

这包括\ n和\ r \ n换行符types,并删除您的用户可能input的任何空行。

我testing使用下面的代码:

  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); 

它能正常工作,分成三个string数组“PersonA”,“PersonB”和“PersonC”。

\r\nreplace\r\n ,然后用\n分割:

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

看看String.Split函数(不确定的语法,没有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";