我有一个看起来像这样的字符串数组
var input = new [] { "AB-PQ", "PQ-EF", "EF=CD", "CD-IJ", "IJ=XY", "XY-JK" };
我想要一个字符串输出,应该像这样
var output = "AB-PQ-EF=CD-IJ=XY-JK"
我想知道是否有更好的方法来执行此操作,而不是使用蛮力循环,然后使用字符串生成器进行拆分和合并。
我的业务用例:我的业务用例是这样的:给定的字符串表示包含多个城市的路线中两个城市之间的链接序列。“-”表示道路连接,“ =”表示铁路连接。城市代码可以是任何长度。
这是我正在使用,并且似乎正在工作。这很容易理解。
public static string Get(string[] array)
{
var sb = new StringBuilder();
for (var i = 0; i < array.Length - 1; i++)
{
var link = array[i];
var words = link.Split('-', '=');
sb.Append(words.First());
// Link will contain either of the separators
if (link.Contains('-'))
{
sb.Append('-');
}
if (link.Contains('='))
{
sb.Append('=');
}
}
sb.Append(array.Last());
return sb.ToString();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句