public static DelimiterInfo[] GetDelimiterInfos()
            {
                DelimiterInfo[] delimiterInfos = new DelimiterInfo[3];
                delimiterInfos[0].fileEndings                = new string[] { ".cs", ".java" };
                delimiterInfos[0].lineDelimiters             = new string[] { "//" };
                delimiterInfos[0].startDelimiters            = new string[] { "/*" };
                delimiterInfos[0].endDelimiters              = new string[] { "*/" };
                delimiterInfos[0].ignoreLineDelimiters       = new string[] { "///" };
                delimiterInfos[0].startIgnoreDelimiters      = new string[] { "\"" };
                delimiterInfos[0].endIgnoreDelimiters        = new string[] { "\"" };
                delimiterInfos[0].specialCharacterDelimiters = new string[] { "\\" };

                delimiterInfos[1].fileEndings                = new string[] { ".js" };
                delimiterInfos[1].lineDelimiters             = new string[] { "//" };
                delimiterInfos[1].startDelimiters            = new string[] { "/*" };
                delimiterInfos[1].endDelimiters              = new string[] { "*/" };
                delimiterInfos[1].ignoreLineDelimiters       = new string[] { "///" };
                delimiterInfos[1].startIgnoreDelimiters      = new string[] { "\"", "'" };
                delimiterInfos[1].endIgnoreDelimiters        = new string[] { "\"", "'" };
                delimiterInfos[1].specialCharacterDelimiters = new string[] { "\\" };

                delimiterInfos[2].fileEndings                = new string[] { ".html" };
                delimiterInfos[2].lineDelimiters             = new string[] { };
                delimiterInfos[2].startDelimiters            = new string[] { "<!--" };
                delimiterInfos[2].endDelimiters              = new string[] { "-->" };
                delimiterInfos[2].ignoreLineDelimiters       = new string[] { };
                delimiterInfos[2].startIgnoreDelimiters      = new string[] { };
                delimiterInfos[2].endIgnoreDelimiters        = new string[] { };
                delimiterInfos[2].specialCharacterDelimiters = new string[] { };



                return(delimiterInfos);
            }
        private static string GetEndIgnoreDelimiter(string line, int index, DelimiterInfo delimInfo)
        {
            for (int i = 0; i < delimInfo.startIgnoreDelimiters.Length; i++)
            {
                for (int j = 0; j < delimInfo.startIgnoreDelimiters[i].Length; j++)
                {
                    if (index + delimInfo.startIgnoreDelimiters[i].Length - 1 < line.Length && delimInfo.startIgnoreDelimiters[i] == line.Substring(index, j + 1))
                    {
                        return(delimInfo.endIgnoreDelimiters[i]);
                    }
                }
            }

            return("");
        }
        private static string GetEndDelimiter(string line, int index, DelimiterInfo curDelimInfo)
        {
            for (int i = 0; i < curDelimInfo.startDelimiters.Length; i++)
            {
                for (int j = 0; j < curDelimInfo.startDelimiters[i].Length; j++)
                {
                    if (index + curDelimInfo.startDelimiters[i].Length - 1 < line.Length && curDelimInfo.startDelimiters[i] == line.Substring(index, j + 1))
                    {
                        return(curDelimInfo.endDelimiters[i]);
                    }
                }
            }

            return("");
        }
Beispiel #4
0
        public void ProcessLineTest()
        {
            const string testLine1 = @"a,b,,<web>q<web>,c~,";

            DelimiterInfo di = new DelimiterInfo();

            di.Delimiters = new string[] { ",", "\t", " " };
            di.MarkMap    = new Dictionary <string, string>();
            di.MarkMap.Add("~", "\r\n");
            di.MarkMap.Add("<web>", "\"");

            DelimitedReader reader = new DelimitedReader(di);

            reader.Feed(testLine1);
        }
        private static DelimiterInfo GetDelimInfo(string filePath, DelimiterInfo[] delimInfos)
        {
            DelimiterInfo delimInfoRez = new DelimiterInfo();

            foreach (var delimInfo in delimInfos)
            {
                foreach (var fileEnding in delimInfo.fileEndings)
                {
                    if (filePath.Contains(fileEnding))
                    {
                        return(delimInfo);
                    }
                }
            }
            return(delimInfoRez);
        }