private List <ParsedText> ConvertToWords(List <string> TextToParse)
        {
            List <ParsedText> Parsed = ParseText(TextToParse);

            for (int i = 0; i < Parsed.Count; i++)
            {
                ParsedText p = Parsed[i];

                if (p.num > 0)
                {
                    if (i > 0 && p.OrigiNum == Parsed[i - 1].OrigiNum)
                    {
                        //The original number are all the same we should increment them
                        p.num    = Parsed[i - 1].num + 1;
                        p.Number = p.num.ToString();
                    }

                    if (cbConvertToWords.Checked || cbRoman.Checked)
                    {
                        p.Number = cbRoman.Checked ? NumberToWordsConverter.NumberToRoman(p.num)
                    : NumberToWordsConverter.NumberToWords(p.num);
                        //Number = cbUpperCase.Checked ? Number.ToUpper() : Number;
                    }
                }

                p.FinalText = p.Prefix + p.Number + p.Sufix;
            }

            return(Parsed);
        }
        private List <ParsedText> ParseText(List <string> TextToParse)
        {
            List <ParsedText> Parsed = new List <ParsedText>();

            for (int i = 0; i < TextToParse.Count; i++)
            {
                string     InText = TextToParse[i];
                ParsedText p      = new ParsedText();

                Regex regexObj = new Regex(@"(?<Prefix>[^\d]*)(?<Number>\d*)(?<Sufix>.*$)");
                p.Prefix = regexObj.Match(InText).Groups["Prefix"].Value;
                p.Number = regexObj.Match(InText).Groups["Number"].Value;
                p.Sufix  = regexObj.Match(InText).Groups["Sufix"].Value;

                int num = 0;
                int.TryParse(p.Number, out num);

                p.num      = num;
                p.OrigiNum = num;

                Parsed.Add(p);
            }

            return(Parsed);
        }
        private List<ParsedText> ParseText(List<string> TextToParse)
        {
            List<ParsedText> Parsed = new List<ParsedText>();

            for (int i = 0; i < TextToParse.Count; i++)
            {
                string InText = TextToParse[i];
                ParsedText p = new ParsedText();

                Regex regexObj = new Regex(@"(?<Prefix>[^\d]*)(?<Number>\d*)(?<Sufix>.*$)");
                p.Prefix = regexObj.Match(InText).Groups["Prefix"].Value;
                p.Number = regexObj.Match(InText).Groups["Number"].Value;
                p.Sufix = regexObj.Match(InText).Groups["Sufix"].Value;

                int num = 0;
                int.TryParse(p.Number, out num);

                p.num = num;
                p.OrigiNum = num;

                Parsed.Add(p);
            }

            return Parsed;
        }