public TextAssetTableHelper(IEnumerable <string> rowSplitStrings = null, IEnumerable <string> colSplitStrings = null, Encoding encoding = null) { TextAssetEncoding = encoding ?? Encoding.UTF8; int Comp(string a, string b) { return(b.Length.CompareTo(a.Length)); } var tmpList = new List <string>(); // row split strings tmpList.AddRange(rowSplitStrings?.ToArray() ?? new string[0]); tmpList.Sort(Comp); _rowSplitStrings = tmpList.ToArray(); // col split strings tmpList.Clear(); tmpList.AddRange(colSplitStrings?.ToArray() ?? new string[0]); tmpList.Sort(Comp); _colSplitStrings = tmpList.ToArray(); // invalid col strings tmpList.Clear(); tmpList.AddRange(RowSplitStrings); tmpList.AddRange(ColSplitStrings); tmpList.Sort(Comp); _invalidColStrings = tmpList.ToArray(); Enabled = ColSplitStrings.Any() && RowSplitStrings.Any(); }
public TextAssetHelper(IEnumerable <string> rowSplitStrings = null, IEnumerable <string> colSplitStrings = null) { int comp(string a, string b) => b.Length.CompareTo(a.Length); List <string> tmpList = new List <string>(); // row split strings tmpList.AddRange(rowSplitStrings?.ToArray() ?? new string[0]); tmpList.Sort(comp); RowSplitStrings = tmpList.ToArray(); // col split strings tmpList.Clear(); tmpList.AddRange(colSplitStrings?.ToArray() ?? new string[0]); tmpList.Sort(comp); ColSplitStrings = tmpList.ToArray(); // invalid col strings tmpList.Clear(); tmpList.AddRange(RowSplitStrings); tmpList.AddRange(ColSplitStrings); tmpList.Sort(comp); InvalidColStrings = tmpList.ToArray(); Enabled = ColSplitStrings.Any() && RowSplitStrings.Any(); }
public IEnumerable <string> SplitTableToRows(string table) { if (!IsTable(table)) { return(null); } return(table.Split(RowSplitStrings.ToArray(), StringSplitOptions.None)); }
public IEnumerable <string> SplitTableToRows(string table) { if (!IsTable(table)) { throw new ArgumentException("textAsset does not contain a table"); } return(table.Split(RowSplitStrings.ToArray(), StringSplitOptions.None)); }