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(""); }
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); }