如何拆分richtextbox c#

时间:2015-06-04 18:39:32

标签: c# wpf richtextbox

我有一个包含以下内容的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。但还是想知道是否有其他有效的解决方案?

1 个答案:

答案 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