using System.Collections.Generic;
public static void Main()
string inputString = "sdfgabcwetrrytruyrtuabcpotre!@#abcprtort";
var resultList = new List< Dictionary<string,string>>();
resultList.Add(Program.processString(inputString,"abc"));
resultList.Add(Program.processString(inputString,"s"));
resultList.Add(Program.processString(inputString,"r"));
resultList.Add(Program.processString(inputString,"zi"));
resultList.Add(Program.processString("abcdefSEPgabcwetSEPsdsSEPdsfgSEPfro","SEP"));
foreach (var r in resultList){
Console.WriteLine($"{s.Key}: {s.Value}");
public static Dictionary<string,string> processString(String inputStr, String separator){
Dictionary<string, string> result = new Dictionary<string, string>();
var split = inputStr.Split(separator);
var countSplit = split.AsEnumerable();
if (countSplit.Count() > 1)
countSplit = countSplit.Skip(1).Where(s => s.Length > 0);
result.Add("Count", countSplit.Count().ToString());
result.Add("Prefix", split.FirstOrDefault());
result.Add("sortedItems", countSplit.OrderBy(s => s).Aggregate((s1, s2) => $"{s1} {s2}"));
for (var i = 0; i < inputStr.Length; i++)
evenChars += inputStr[i];
result.Add("evenChars", evenChars);