// Gathering all players if (d.IndexOf("ui_name") > 0) { string[] map2 = d.Split('\n'); for (int i = 0; i <= map2.Length - 1; i++) { if (map2[i].IndexOf("ui_realname") > 0) { string[] map3 = map2[i].Split('\0'); players.Add(cleanString(map3[map3.Length-1]),new Player(cleanString(map3[map3.Length-1]))); } } } // analyse tags public void analyseTags() { int j =0; foreach(String i in players.Keys) { arr.Add(players[i].Name); j++; } try{ for(int k=0; k<=arr.Count-1;k++){ compare(arr[k].ToString(),arr[k+1].ToString()); } } catch{ }; if(finalTags.Count <= 0) { Console.WriteLine("TeamA"); Console.WriteLine("TeamB");} else if(finalTags.Count <= 1) { Console.WriteLine(finalTags[0]); Console.WriteLine("TeamA"); }else{ Console.WriteLine(finalTags[0]); Console.WriteLine(finalTags[1]); } } // compare the strings public void compare(String x, String y) { int xLength = x.Length, yLength = y.Length; StringBuilder sb = new StringBuilder(); int len = 0; if(xLength < yLength) len = xLength; else len = yLength; // von vorne for( int i=0; i<=len;i++) { if(x[i].Equals(y[i])) { sb.Append(x[i]); }else break; } if(sb.ToString().Equals("")){ // von hinten for( int m=len; m<=1;m--) { if(x[m].Equals(y[m])) { sb.Append(x[m]); }else break; } } //Console.WriteLine(sb.ToString()); if(!sb.ToString().Equals("") && !finalTags.Contains(sb.ToString())) finalTags.Add(sb.ToString()); } }