public static int ExportPositions(string input, string csv) { const string search = @"\s*\[1,(\d*)] = \s*'([^\']*)'\s*Group:\s\d*\s*Config:\s\d*([^,]*)[^X]*X:\s*([^\s]*)\s*Y:\s*([^\s]*)\s*Z:\s*([^\s]*)\s*W:\s*([^\s]*)\s*P:\s*([^\s]*)\s*R:\s*([^\s]*)"; var positions = new List <PositionRegister>(); var matches = Regex.Matches(input, search); var output = "pr, description, config, x, y, z, w, p, r" + Environment.NewLine; foreach (Match match in matches) { if (match.Groups.Count == 10) { var position = new PositionRegister(match); positions.Add(position); output += position.ToCSVLine() + Environment.NewLine; } } // create the folder if it's missing var directory = IO.GetFileDirectory(csv); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } IO.WriteFile(csv, output, Encoding.ASCII); return(positions.Count); }
public static int ExportPositions(string input, string csv) { const string search = @"\s*\[1,(\d*)] = \s*'([^\']*)'\s*Group:[^X]*X:\s*([^\s]*)\s*Y:\s*([^\s]*)\s*Z:\s*([^\s]*)\s*W:\s*([^\s]*)\s*P:\s*([^\s]*)\s*R:\s*([^\s]*)"; var positions = new List<PositionRegister>(); var matches = Regex.Matches(input, search); var output = "pr, description, x, y, z, w, p, r" + Environment.NewLine; foreach (Match match in matches) { if (match.Groups.Count == 9) { var position = new PositionRegister(match); positions.Add(position); output += position.ToCSVLine() + Environment.NewLine; } } IO.WriteFile(csv, output, Encoding.ASCII); return positions.Count; }