Ass2Srt.AssAnalyzerForAss.DialogueProcessor C# (CSharp) Method

DialogueProcessor() public method

public DialogueProcessor ( string ssDialogues ) : string[]
ssDialogues string
return string[]
        public string[] DialogueProcessor(string[] ssDialogues)
        {
            if (type == 5)
            {
                return ssDialogues;
            }

            List<string> lDialogues = new List<string>();
            List<string> lSimpChiSubs = new List<string>();
            List<string> lEngSubs = new List<string>();
            Regex rx = new Regex(@"[^\{^\}]+");
            Regex exEngOrChi = new Regex(@"[\u4e00-\u9fa5]");

            foreach (string s in ssDialogues)
            {
                string strDiag = "";
                lSimpChiSubs.Clear();
                lEngSubs.Clear();
                MatchCollection MC = rx.Matches(s);
                foreach (Match M in MC)
                {
                    if (M.ToString() == "" || M.ToString()[0] == '\\')
                    {
                        continue;
                    }

                    else
                    {
                        //if (M.ToString().Contains("Dialogue:"))
                        //{
                        //    string[] tss = SplitString(M.ToString(), ",,");
                        //    if (tss[tss.Length - 1] != "")
                        //    {
                        //        strDiag += tss[tss.Length - 1];
                        //    }
                        //}

                        //else
                        //{
                        //    strDiag += M.ToString();
                        //}

                        if (DoubleOrSingle)
                        {
                            //M.ToString()ing[] ss = SplitM.ToString()ing(M.ToString()Diag, "\\N");
                            //foreach (M.ToString()ing M.ToString() in ss)
                            //{
                            if (M.ToString() != "")
                            {
                                if (exEngOrChi.IsMatch(M.ToString()))
                                {
                                    lSimpChiSubs.Add(M.ToString());
                                }

                                else
                                {
                                    if (!M.ToString().Contains("Dialogue:") && !M.ToString().Contains("YYeTs"))
                                    {
                                        lEngSubs.Add(M.ToString());
                                    }
                                }
                                //}
                            }
                        }

                        else
                        {
                            if (M.ToString() != "")
                            {
                                lSimpChiSubs.Add(M.ToString());
                            }
                        }
                    }
                }

                switch (type)
                {
                    case 6:
                        {
                            strDiag = CvrtSubToTradChi(s, lSimpChiSubs);
                            if (strDiag != "")
                            {
                                lDialogues.Add(strDiag);
                            }
                            break;
                        }

                    case 7:
                        {
                            strDiag = DeleteEngSub(s, lEngSubs);
                            if (strDiag != "")
                            {
                                lDialogues.Add(strDiag);
                            }
                            break;
                        }

                    case 8:
                        {
                            strDiag = CvrtSubToTradChi(s, lSimpChiSubs);
                            strDiag = DeleteEngSub(strDiag, lEngSubs);
                            if (strDiag != "")
                            {
                                lDialogues.Add(strDiag);
                            }
                            break;
                        }
                }
            }

            return lDialogues.ToArray();
        }