2011-05-06 88 views
8

我想從文本框(txtFrom)中取一個字符串並保存第一個單詞並保存其他部分中剩下的任何內容。 (在任何剩下的就是一切經過第一空間)僅將字符串拆分爲2部分

例字符串=「鮑勃·瓊斯去商店」

數組[0]將給出「鮑勃」
陣列[1]將給出「瓊斯去商店「

我知道有string[] array = txtFrom.Split(' ');,但是這給了我一個單獨的單詞6陣列。

回答

3

您只需要將一個分裂與加入拿到的第一個元素:

string[] items = source.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); 

string firstItem = items[0]; 
string remainingItems = string.Join(" ", items.Skip(1).ToList()); 

您只需採取的第一項,然後改革餘回字符串。

+1

我認爲你想在你的連接中使用空格分隔符。 – 2011-05-06 03:54:19

+0

儘管OP使用空格作爲分隔符而不是逗號,這是一個很好的答案。我認爲你的例子很清楚。 – Pete 2011-05-06 03:58:54

+0

是的,我通常做一個逗號,我的壞!這個世界太多逗號分隔的字符串! – Tejs 2011-05-06 14:41:54

1

還有就是String.Split()方法,其接受表示串以返回的數量的整數的過載。

所以,你的方法調用將成爲:string[] array = txtFrom.Text.Split(' ', 2);

0

您也可以嘗試RegularExpressions

Match M = System.Text.RegularExpressions.Regex.Match(source,"(.*?)\s(.*)"); 
M.Groups[1] //Bob 
M.Groups[2] // jones went to the store 

的正則表達式匹配一切到第一空間,並將其存儲在第一組中?標記告訴它使最小的匹配成爲可能。第二個條款抓住空間後的所有內容,並將其存儲在第二組中

0
char[] delimiterChars = { ' ', ',' }; 
string text = txtString.Text; 

string[] words = text.Split(delimiterChars, 2); 

txtString1.Text = words[0].ToString(); 
txtString2.Text = words[1].ToString(); 
+1

你應該添加一個解釋... – 2014-06-23 16:27:15