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"));
foreach (Dictionary<string, string> result in resultList)
System.Console.WriteLine("Count: "+ result["Count"]);
System.Console.WriteLine("Prefix: "+ result["Prefix"]);
System.Console.WriteLine("sortedItems: "+ result["sortedItems"]);
System.Console.WriteLine("evenChars: "+ result["evenChars"]);
System.Console.WriteLine("");
public static Dictionary<string,string> processString(String inputStr, String separator){
Dictionary<string, string> result = new Dictionary<string, string>();
var subString = inputStr.Split(separator).ToList();
for (int i = subString.Count()-1; i >= 0 ; i--)
if(string.IsNullOrEmpty(subString[i])){
subString.Remove(subString[i]);
result["Count"] = "" + (subString.Count - (inputStr.IndexOf(separator) >= 1?1:0)) + "";
result["sortedItems"] = "";
var chArray = inputStr.ToCharArray(0, inputStr.Length);
StringBuilder evenCharsItems = new StringBuilder();
for (int i = 0; i < inputStr.Length ; i++)
evenCharsItems.Append(inputStr[i]);
result.Add("evenChars", evenCharsItems.ToString());
if (inputStr.IndexOf(separator) >= 1)
result["Prefix"] = subString[0];
subString.Remove(subString[0]);
var subItem = subString.ToArray();
result["sortedItems"] = String.Join(" ", subString);