繁体   English   中英

按字符串数组拆分字符串并保留分隔符

[英]Split string by array of strings and preserve delimeters

我有这样的事情:

  string[] names= {"john","joe", "jim"};
  data="john,4,3,6,joe,3,6,2,jim,3,6,7";
  string[] results=data.Split(names,StringSplitOptions.RemoveEmptyEntries);

这给出了:

 ,4,3,6

 ,3,6,2

 ,3,6,7

但我也希望名称也可以在结果数组中。

如何在最后添加此行:

results = results.Select((x, i) => names[i] + x).ToArray();

这将在每个条目的前面加上名称,输出:

约翰,4,3,6
乔,3,6,2
吉姆,3,6,7

您可以保留原始代码,然后压缩名称:

string[] names= new [] {"john","joe", "jim" };
string data="john,4,3,6,joe,3,6,2,jim,3,6,7";
string[] results = data.Split(names, StringSplitOptions.RemoveEmptyEntries)
                       .Zip(names, (values, name) => name + values)
                       .ToArray();

当我查看示例时,最明智的方法似乎是在“”上拆分“数据”,然后将这些部分重新分组。 如果总是有4组,这很容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM