将字符串拆分为2个部分

时间:2011-05-06 03:50:16

标签: c# .net

我想从文本框中取一个字符串(txtFrom)并保存第一个单词并保存另一个部分留下的内容。 (剩下的就是通过第一个空间的一切)

示例string =“Bob jones去了商店”

array [0]会给“Bob” array [1]会给“jones去商店”

我知道有string[] array = txtFrom.Split(' ');,但是这给了我一个包含6个单词的数组。

5 个答案:

答案 0 :(得分:37)

像这样使用String.Split(Char[], Int32)重载:

string[] array = txtFrom.Text.Split(new char[]{' '},2);

http://msdn.microsoft.com/en-us/library/c1bs0eda.aspx

答案 1 :(得分:3)

您只需将分组与连接组合以获取第一个元素:

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

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

你只需要取第一项,然后将余数重新改成字符串。

答案 2 :(得分:1)

String.Split()方法有一个重载,它接受一个表示要返回的子串数的整数。

因此,您的方法调用将变为:string[] array = txtFrom.Text.Split(' ', 2);

答案 3 :(得分:1)

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

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

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

答案 4 :(得分:0)

您也可以尝试使用RegularExpressions

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

正则表达式匹配第一个空格的所有内容并将其存储在第一个空格中? mark告诉它使最小的匹配成为可能。第二个句子抓住空格后的所有内容并将其存储在第二组