Send to your Kindle using System; using System.Collections.Generic; using System.Text.RegularExpressions; using System.Text; using System.Diagnostics; using System.Linq; namespace X03.PageElements.Notations.NotNestables { public class Lf : PageElements.Notations.NotNestable, Plugin.PageElement, Plugin.Findable { override public void Accept(PageElementVisitor visitor) { visitor.Visit(this); } public override string ToHtml() { //TODO:ここでの置き換えは正しい? var str = String.Join("", this.Children.ConvertAll<string>(x => x.ToHtml()).ToArray()); return Regex.Replace(str, Lf.Pattern, "<br />\n", RegexOptions.Singleline); } public override void InAction() { foreach (var child in this.Children) child.InAction(); } override public string CreateTag() { return this.GetType().Name + ":" + ""; } public float SimilarityTo(PageElement that) { return 1F; } static public void Merge(PageElement parent, List<PageElements.Plains.Plaintext> children, PageElements.Notations.NotNestables.Lf target) { target.Children.AddRange(children.Cast<PageElement>().ToList()); } new public static string Pattern = @"\r\n|\r|\n"; //override public Pattern? Pattern //{ // get { return new Pattern("", Lf._pattern + "+", ""); } //} public Lf(PageElement parent, List<PageElements.Plains.Plaintext> children) : base(parent, children) { } } } using System; using System.Collections.Generic; using System.Text.RegularExpressions; using System.Text; using System.Diagnostics; using System.Linq; namespace X03.PageElements.Notations.NotNestables { public class Lf : PageElements.Notations.NotNestable, Plugin.PageElement, Plugin.Findable { override public void Accept(PageElementVisitor visitor) { visitor.Visit(this); } public override string ToHtml() { //TODO:ここでの置き換えは正しい? var str = String.Join("", this.Children.ConvertAll<string>(x => x.ToHtml()).ToArray()); return Regex.Replace(str, Lf.Pattern, "<br />\n", RegexOptions.Singleline); } public override void InAction() { foreach (var child in this.Children) child.InAction(); } override public string CreateTag() { return this.GetType().Name + ":" + ""; } public float SimilarityTo(PageElement that) { return 1F; } static public void Merge(PageElement parent, List<PageElements.Plains.Plaintext> children, PageElements.Notations.NotNestables.Lf target) { target.Children.AddRange(children.Cast<PageElement>().ToList()); } new public static string Pattern = @"\r\n|\r|\n"; //override public Pattern? Pattern //{ // get { return new Pattern("", Lf._pattern + "+", ""); } //} public Lf(PageElement parent, List<PageElements.Plains.Plaintext> children) : base(parent, children) { } } }