[英]string split with delimeters remain in strings result array, how? c#
[英]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.