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(); }
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); }