コード例 #1
0
        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);
        }
コード例 #2
0
        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;
        }