How to do cascade splitting with C# Linq - multiple foreach split

Viewed 1033

These are the values i want to split the string cascadingly

List<string> lstsplitWord = new List<string> { ",", "=", "،", "أو", "او", "/", "." };

I have written them as like this but i am assuming that there must be more elegant Linq solution for this

    foreach(var part1 in srSplitPart.Split(',')) {
     foreach(var part2 in part1.Split('=')) {
      foreach(var part3 in part2.Split('،')) {
       foreach(var part4 in part3.func_Split_By_String("أو")) {
        foreach(var part5 in part4.func_Split_By_String("او")) {
         foreach(var part6 in part5.Split('/')) {
          foreach(var part7 in part6.Split('.')) {
           if (part7.Length < 3)
            continue;
           string srTrans = part7.FixArabic().func_Special_Trim();

           srTemp.AppendLine($ "{srTitle} > {srTrans} \t {irTransLevel}");
           irTransLevel++;
          }
         }
        }
       }
      }
     }
    }

C# .net 4.6.2

special split function

public static List<string> func_Split_By_String(this string Sentence, string srReplace)
{
    return Sentence.Split(new string[] { srReplace }, StringSplitOptions.None).ToList();
}
1 Answers
Related