我有一個稱爲txbUserName的多行文本框的ASP.NET頁面。然後我粘貼到文本框3名,他們是垂直對齊:如何拆分字符串回車與C#?
- 傑森
- 書童
- 卡倫
我希望能夠以某種方式把名字和它們拆分爲單獨字符串,每當我檢測到回車或新行。我在想,一個數組可能是要走的路。 任何想法?
謝謝。
我有一個稱爲txbUserName的多行文本框的ASP.NET頁面。然後我粘貼到文本框3名,他們是垂直對齊:如何拆分字符串回車與C#?
我希望能夠以某種方式把名字和它們拆分爲單獨字符串,每當我檢測到回車或新行。我在想,一個數組可能是要走的路。 任何想法?
謝謝。
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);
而且它工作正常,分裂成三個字符串數組的條目「假面」,「PersonB」和「PersonC」。
看看在String.Split功能(不知道確切的語法的,在我面前沒有IDE)。
string[] names = txbUserName.Text.Split(Environment.Newline);
更換任何\r\n
與\n
,然後分割使用\n
:
string[] arr = txbUserName.Text.Replace("\r\n", "\n").Split("\n".ToCharArray());
爲什麼不使用'new char [] {'\ n'}'? – 2009-11-29 04:01:38
@Matthew:舊的習慣很難:P – 2009-11-29 04:03:07
@Matthew,@ o.k.w:甚至只是使用Split('\ n')',因爲分隔符數組是一個'params'參數。 – LukeH 2009-11-29 10:14:33
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();
}
}
試試這個:
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";
有保證,這將通過\ -N,留下不先拆\ r \ n減少到用\ r? – spender 2009-11-29 03:47:31
我很確定它不會。我在我的應用程序中使用此行,它一次用於解析剪貼板(某種程度上用戶需要Windows上的UNIX行結束符......)。但是,如果是這樣,我想像顛倒字符串數組參數中的字符串可以解決這個問題。有誰知道如何生成這兩個組合來測試? – jasonh 2009-11-29 03:50:10
@jasonh:「我很確定」......着名的遺言。 :) – 2009-11-29 03:56:04