将字符串拆分为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);
您只需将拆分与连接组合以获取第一个元素:
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告诉它使最小的匹配成为可能。 第二个句子抓住空格后的所有内容并将其存储在第二组中