怎么做一个字符串内的拆分号码(第一个位置)?

时间:2017-11-08 02:17:14

标签: c#

关注字符串:

11 blabalba, balbalba balballbal  baba
12 balbal13, afafaf14 1414adad1414 12 12

我希望它返回类似这样的内容(以split分隔):

array 0: 11
array 1: blabalba, balbalba balballbal  baba

第二行:

array 0: 12
array 1: balbal13, afafaf14 1414adad1414 12 12

如何在第一个位置进行拆分?

3 个答案:

答案 0 :(得分:2)

var input = "11 blabalba, balbalba balballbal  baba";
var split = input.Split(new [] {' '}, 2);

它按空格分割原始字符串,但最多返回两个字符串。因此,它只会使用第一个空格进行拆分。

string.Split documentation

答案 1 :(得分:1)

            var content = "11  blabalba, balbalba balballbal  baba";

            var splitContent = content.Split(' ');

            splitContent[1] = string.Join(" ", splitContent.Skip(1).Take(splitContent.Length - 1).ToArray());

            splitContent = splitContent.Take(2).ToArray();

答案 2 :(得分:1)

var head = string.Join("", s.TakeWhile(x => char.IsDigit(x)));
var rest = string.Join("", s.Skip(head.Length + 1));

return new [] { head, rest };

或更强大:

var regex = new Regex(@"^(?'head'\d+)\s(?'rest'.+)$");

var match = regex.Match(s);

var head = match.Groups["head"].Value;
var rest = match.Groups["rest"].Value;

return new [] { head, rest};