public static void Main()
        {
            C1.TextParser.LicenseManager.Key = License.Key;

            StartsAfterContinuesUntil startsAfterContinuesUntil = new StartsAfterContinuesUntil(@"//", @"\r\n");
            Stream            inputStream     = File.Open(@"input.txt", FileMode.Open);
            IExtractionResult extractedResult = startsAfterContinuesUntil.Extract(inputStream);

            inputStream.Close();

            Console.WriteLine("--------------------------------------------------------------------------------");
            Console.WriteLine("GrapeCity, inc, all rights reserved");
            Console.WriteLine("Demo of the C1TextParser library - StartsAfterContinuesUntil extractor sample");
            Console.WriteLine("Test case: Extract all the comments from a c++ source file");
            Console.WriteLine("Extractor specification: Starts After // Continues Until \\r\\n");
            Console.WriteLine("Detail: The input stream content, as well as the extracted");
            Console.WriteLine("        result (in Json format) are displayed down below");
            Console.WriteLine("        Also, the extracted result was exported to \"ExtractComments.csv\"");
            Console.WriteLine("        at the current working directory");
            Console.WriteLine("--------------------------------------------------------------------------------");

            Console.WriteLine("");

            Console.WriteLine("--------------------------------------------------------------------------------");
            Console.WriteLine("Input stream:");
            Console.WriteLine("--------------------------------------------------------------------------------");
            Console.WriteLine(new StreamReader(File.Open(@"input.txt", FileMode.Open)).ReadToEnd());
            Console.WriteLine("--------------------------------------------------------------------------------");

            Console.WriteLine("");

            Console.WriteLine("--------------------------------------------------------------------------------");
            Console.WriteLine("JSon String result:");
            Console.WriteLine("--------------------------------------------------------------------------------");
            Console.WriteLine(extractedResult.ToJsonString());
            Console.WriteLine("--------------------------------------------------------------------------------");

            MyExtractionResultClass t  = extractedResult.Get <MyExtractionResultClass>();
            StringBuilder           sb = CsvExportHelper.ExportList(t.Result);
            string str = sb.ToString();

            File.WriteAllText("ExtractComments.csv", sb.ToString());

            Console.ReadLine();
        }
示例#2
0
        private void Button2_Click(object sender, EventArgs e)
        {
            StartsAfterContinuesUntil extractor = null;

            try
            {
                extractor = C1TextParserWrapper.GetStartsAfterContinuesUntilExtractor(textBox1.Text, textBox2.Text);
            }
            catch (Exception ex1)
            {
                MessageBox.Show("Regular expression parsing error:\n" + ex1.Message, "C1TextParser Winforms Edition", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            var plainTextStream = new MemoryStream();
            var writer          = new StreamWriter(plainTextStream);

            writer.Write(textBox4.Text);
            writer.Flush();
            plainTextStream.Position = 0;

            IExtractionResult extractedResult = extractor.Extract(plainTextStream);
            var results = extractedResult.Get <MyExtractionResultClass>();

            this.c1FlexGrid1.Rows.RemoveRange(1, this.c1FlexGrid1.Rows.Count - 1);
            foreach (var result in results.Result)
            {
                this.c1FlexGrid1.AddItem(new string[2] {
                    result.Index.ToString(), result.Text
                });
            }

            writer.Dispose();
            plainTextStream.Dispose();

            MessageBox.Show(String.Format("{0} instance(s) extracted sucessfully from the input source!", results.Result.Count), "C1TextParser Winforms Edition", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }