将字符串拆分为2个部分

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

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

array [0]会给“Bob”
数组[1]会给“琼斯去商店”

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

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

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

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

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

 string[] items = source.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); string firstItem = items[0]; string remainingItems = string.Join(" ", items.Skip(1).ToList()); 

您只需取出第一个项目,然后将剩余部分重新转换为字符串。

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

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

 char[] delimiterChars = { ' ', ',' }; string text = txtString.Text; string[] words = text.Split(delimiterChars, 2); txtString1.Text = words[0].ToString(); txtString2.Text = words[1].ToString(); 

您也可以尝试使用RegularExpressions

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

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