C# 将字符串拆分为两部分
我想从文本框(txtFrom)中提取一个字符串,保存第一个单词,并保存其他部分中剩下的内容。(剩下的就是第一个空格以外的所有内容) 示例string=“鲍勃·琼斯去了商店” 数组[0]将给出“Bob”C# 将字符串拆分为两部分,c#,.net,C#,.net,我想从文本框(txtFrom)中提取一个字符串,保存第一个单词,并保存其他部分中剩下的内容。(剩下的就是第一个空格以外的所有内容) 示例string=“鲍勃·琼斯去了商店” 数组[0]将给出“Bob” 数组[1]会给出“琼斯去商店了” 我知道有string[]array=txtFrom.Split(“”),但这给了我一个包含6个单词的数组。您只需将拆分与联接结合起来,即可获得第一个元素: string[] items = source.Split(new char[] { ' ' }, Stri
数组[1]会给出“琼斯去商店了”
我知道有
string[]array=txtFrom.Split(“”)代码>,但这给了我一个包含6个单词的数组。您只需将拆分与联接结合起来,即可获得第一个元素:
string[] items = source.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
string firstItem = items[0];
string remainingItems = string.Join(" ", items.Skip(1).ToList());
您只需获取第一项,然后将剩余项重新组合成字符串。使用string.Split(Char[],Int32)
重载如下:
string[] array = txtFrom.Text.Split(new char[]{' '},2);
该方法有一个重载,它接受一个表示要返回的子字符串数量的整数
因此,您的方法调用将变成:string[]array=txtFrom.Text.Split(“”,2)代码>您也可以尝试正则表达式
Match M = System.Text.RegularExpressions.Regex.Match(source,"(.*?)\s(.*)");
M.Groups[1] //Bob
M.Groups[2] // jones went to the store
正则表达式将所有内容匹配到第一个空间,并将其存储在第一个组中?马克告诉它尽可能地缩小匹配范围。第二个子句获取空格后的所有内容并将其存储在第二个组中我认为您希望在联接中使用空格分隔符。这是一个很好的答案,尽管OP使用空格作为分隔符,而不是逗号。我觉得你的例子很清楚。是的,我通常用逗号,我的错!这个世界上逗号分隔的字符串太多了!
char[] delimiterChars = { ' ', ',' };
string text = txtString.Text;
string[] words = text.Split(delimiterChars, 2);
txtString1.Text = words[0].ToString();
txtString2.Text = words[1].ToString();