public TeaboxDataLine() { _data = new List <string>(); _titles = new List <string>(); _type = TeaboxDataLineType.Data; // Default to data because that is the most common reason for creating a line. _comment = ""; _unique_instance_id = Guid.NewGuid(); }
protected static void ParseLine(string line, bool no_comments, out string comment, out TeaboxDataLineType type, out string[] data) { comment = ""; type = TeaboxDataLineType.Other; data = new string[0]; if (!no_comments) { // Starts with "//" if (line.StartsWith(CommentIdentifier)) { comment = line.Substring(line.IndexOf(CommentIdentifier) + CommentIdentifier.Length); return; } // Includes " //" or "\t//" if (line.Contains(" " + CommentIdentifier) || line.Contains("\t" + CommentIdentifier)) { comment = line.Substring(line.IndexOf(CommentIdentifier) + CommentIdentifier.Length); line = line.Substring(0, line.IndexOf(CommentIdentifier)); } } line = line.TrimEnd(); if (line.StartsWith(TitleRowIdentifier)) { type = TeaboxDataLineType.Titles; line = line.Substring(TitleRowIdentifier.Length); } if (line != string.Empty) { data = new string[1] { line } } ; if (line.Contains(DataDelimiter)) { data = line.Split(DataDelimiter.ToCharArray()); } for (int i = 0; i < data.Length; i++) { data[i] = data[i].Trim(); } if (type != TeaboxDataLineType.Titles && data.Length > 0) { type = TeaboxDataLineType.Data; } } }
public static void SetLineType(TeaboxDataLine line, ref TeaboxDataLineType type) { line._type = type; }
public static void PublicParseLine(string line, out string comment , out TeaboxDataLineType type, out string[] data) { ParseLine(line, false, out comment, out type, out data); }