gpt4 book ai didi

c# - 如何从 Richbox 中删除空白行

转载 作者:行者123 更新时间:2023-11-30 21:15:25 30 4
gpt4 key购买 nike

我的 RichBox 中有几个空行,我需要将它们从 Rich 中删除。

我可以细化空白行,但无法删除它们。我该怎么做?我使用了这段代码,但它不起作用:

RichTextBox rtfBox = new RichTextBox();
rtfBox.Rtf = SOME NTEXT DATA;

int lineNumber = 0;
foreach (string a in rtfBox.Lines)
{
if (a == "")
{
int start_index = rtfBox.GetFirstCharIndexFromLine(lineNumber);
int countLineChar = rtfBox.Lines[lineNumber].Length;
// Eat new line chars
if (lineNumber < rtfBox.Lines.Length - 1)
{
countLineChar += rtfBox.GetFirstCharIndexFromLine(lineNumber + 1) -
((start_index + countLineChar - 1) + 1);
}
rtfBox.Text = rtfBox.Text.Remove(start_index, countLineChar);
}
else
lineNumber++;
}

此行 rtfBox.Text = rtfBox.Text.Remove(start_index, countLineChar); 不起作用。

谢谢

更新

谢谢大家,当 Richbox 内容只是文本时,您的建议很有用,但我的 Rich 中也有图像和表格。当我使用 rtb.Text = 或 rtfBox.Text = 或 richTextBox1.Text = 时,图像和表格将从 richbox 中删除。

最佳答案

这将匹配包含新行字符之一的任何行,可以选择以任何空格开头;

rtb.Text = Regex.Replace(rtb.Text, @"^\s*$(\n|\r|\r\n)", "", RegexOptions.Multiline);

(与其他文本和替换一样,这将破坏任何格式(如果有))

关于c# - 如何从 Richbox 中删除空白行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5763877/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com