如何分割richtextbox c#

本文关键字:richtextbox 分割 何分割 | 更新日期: 2023-09-27 17:53:45

我有一个包含以下内容的richtext框

"奇异的恩典,多么甜美的声音

它救了我这样一个可怜虫。

我曾经迷失,现在被找到,

曾经是盲人,但现在我看见了。

//空白-意思是第二段//

是恩典使我的心敬畏,

和恩典我的恐惧解除。

那恩典显得多么珍贵

我第一次相信的时刻。"

Access db中保存的内容如下:

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框。

示例:Richtexbox1将有

奇异的恩典,多么甜美的声音

它救了我这样一个可怜虫。

我曾经迷失,现在被找到,

曾经是盲人,但现在我看见了。

Richtextbox2将有

是恩典使我的心敬畏,

和恩典我的恐惧解除。

那恩典显得多么珍贵

我第一次相信的那一刻。

问题:有人可以帮助有效的方法来分割文本框的内容。

解决方案:我通过读取richtextbox文档中的每个块来实现这一点;然后找到带有空文本的块;拆分内容并为新的richtextbox放入一个新的流文档。但是还是想知道是否有其他有效的解决方法?

如何分割richtextbox c#

您正在读取访问数据库中的RichText,并将其推送到WPF中的RichText框中。

要回答您的问题,我会说您可以使用HTML解析器,参见:https://softwarerecs.stackexchange.com/questions/10773/c-library-for-parsing-html

无论你做什么,都不要使用正则表达式,因为那样会导致疯狂,正如StackOverflow上最受欢迎的帖子所证明的那样:RegEx匹配开放标签,除了XHTML自包含标签