[英]Split string with colon (:) and separate the numbers with colon
Hello i had a problem on separating a string. 您好,我在分隔字符串时遇到问题。 Below are the sample string.
下面是示例字符串。
Input - D93:E93 E98 E9:E10 E26 D76:E76 D83:E83 D121:D124 输入-D93:E93 E98 E9:E10 E26 D76:E76 D83:E83 D121:D124
Output - D93, E93, E98, E9, E10, E26, D76, E76, D83, E83, D121, D122, D123, D124 输出-D93,E93,E98,E9,E10,E26,D76,E76,D83,E83,D121,D122,D123,D124
If you separate the two with the same letter it continues counting. 如果您用相同的字母将两者分开,它将继续计数。 Please help me..
请帮我..
Regards, 问候,
You can do: 你可以做:
var input = "D93:E93 E98 E9:E10 E26 D76:E76 D83:E83 D121:D124";
var list = input.Split(' ');
var result = new List<String>();
foreach (var item in list)
{
var parts = item.Split(':');
if (parts.Length == 1) result.Add(parts[0]);
else
{
if (parts[0].Substring(0, 1).CompareTo(parts[1].Substring(0, 1)) == 0)
{
var i = Convert.ToInt32(parts[0].Substring(1));
var j = Convert.ToInt32(parts[1].Substring(1));
while (i < j)
{
result.Add(parts[0].Substring(0, 1) + i);
i++;
}
if (i == j)
{
result.Add(parts[0].Substring(0, 1) + i);
}
}
else
{
result.Add(parts[0]);
result.Add(parts[1]);
}
}
}
Console.WriteLine(string.Join(", ", result));
//output
D93, E93, E98, E9, E10, E26, D76, E76, D83, E83, D121, D122, D123, D124
最简单的方法是结合使用String.Split()
和String.Join()
:
var result = String.Join(", ", s.Split(':', ' '));
Try string.Split 尝试string.Split
string input = "D93:E93 E98 E9:E10 E26 D76:E76 D83:E83 D121:D124";
var output = input.Split(new [] {':', ' '});
Console.WriteLine(output);
or if you need the commas: 或者如果您需要逗号:
string input = "D93:E93 E98 E9:E10 E26 D76:E76 D83:E83 D121:D124";
var output = input.Split(new [] {':', ' '});
var outstr = output.Aggregate((a,e) => a + ", " + e);
Console.WriteLine(outstr);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.