public static MiMFa_Percent NameLikePerCent(string str1, string str2) { MiMFa_Percent p = LikePerCent(str1, str2); if (p.Positive > 70) { return(p); } str1 = MiMFa_Convert.ToSeparatedWordsFast(str1).ToLower(); str2 = MiMFa_Convert.ToSeparatedWordsFast(str2).ToLower(); var lst1 = str1.Split(new string[] { " ", " ", " ", "&", ",", "،", "'", "`", ":", "؛", ";", ".", "?", "؟", "!" }, StringSplitOptions.RemoveEmptyEntries); var lst2 = str2.Split(new string[] { " ", " ", " ", "&", ",", "،", "'", "`", ":", "؛", ";", ".", "?", "؟", "!" }, StringSplitOptions.RemoveEmptyEntries); p = new MiMFa_Percent(); decimal f = 100 / Math.Max(lst1.Length, lst2.Length); for (int i = 0; i < lst1.Length; i++) { for (int j = 0; j < lst2.Length; j++) { if (lst1[i].Length > lst2[j].Length) { if (lst1[i].StartsWith(lst2[j])) { p.AddValue(f); break; } } else { if (lst2[j].StartsWith(lst1[i])) { p.AddValue(f); break; } } } } return(p); }