我有一个包含以下内容的richtext框
“惊人的优雅,声音多么甜美
这就像我一样拯救了一个可怜的人。
我曾经迷路了,但现在找到了,
失明,但现在我明白了。
//空格 - 意思是第2段//
'Twas恩惠教导我的内心恐惧,
恩惠我的担忧得到了缓解。
这种恩典显得多么珍贵
我第一次相信的那个小时。“
内容保存在Access数据库中,如下所示:
Section xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xml:space="preserve" TextAlignment="Left"
LineHeight="Auto".......>
Paragraph FontFamily="Times New Roman" FontSize="16" Margin="0,6.67,0,6.67">Span>Run>Amazing grace, How sweet the
sound/Run>/Span>Span>LineBreak />/Span>Span>Run>That saved a wretch like me./Run>/Span>Span>LineBreak
/>/Span>Span>Run>I once was lost, but now am found, /Run>/Span>Span>LineBreak />/Span>Run>Was blind, but now I
see./Run>/Paragraph>
Paragraph FontFamily="Times New Roman" FontSize="16" Margin="0,6.67,0,6.67">Run>/Run>/Paragraph>
Paragraph FontFamily="Times New Roman" FontSize="16" Margin="0,6.67,0,6.67">Run>'Twas grace that taught my heart to fear,
/Run>Span>LineBreak />/Span>Span>Run>And grace my fears relieved./Run>/Span>Span>LineBreak />/Span>Span>Run>How
precious did that grace appear/Run>/Span>Span>LineBreak />/Span>Run>The hour I first believed./Run>/Paragraph>
/Section>
要求:是根据段落拆分内容并将其放在两个richtext框中。
Ex:Richtexbox1将有
惊人的优雅,声音多么甜美
这就像我一样拯救了一个可怜的人。
我曾经迷路了,但现在找到了,
失明,但现在我明白了。
Richtextbox2将有
Twas恩惠教导我的内心恐惧,
恩惠我的担忧得到了缓解。
这种恩典显得多么珍贵
我最初相信的那个小时。
问题:有人可以帮助您分割富文本框内容的有效方法吗?
解决方案:我通过阅读richtextbox文档中的每个块来实现此目的;然后找到空文本块;拆分内容并为新的richtextbox添加新的flowdocument。但还是想知道是否有其他有效的解决方案?
答案 0 :(得分:0)
您正在从访问数据库中读取RichText,并将其推送到WPF中的RichText框中。
要回答您的问题,我会说您可以使用HTML解析器,请参阅:https://softwarerecs.stackexchange.com/questions/10773/c-library-for-parsing-html
无论你做什么,都不要使用正则表达式,因为这会导致疯狂,正如StackOverflow上最受欢迎的帖子所证明的那样:RegEx match open tags except XHTML self-contained tags