在RichTextBox上,每个句子之间只留两个空行

本文关键字:两个 之间 RichTextBox 句子 | 更新日期: 2023-09-27 18:28:09

RichTextBox中有100多行。有些行是空的,有些行有一个句子。我想在RichTextBox中的每个句子之间只留两个空行。我该怎么做?

List<string> rt = new List<string>();
foreach (string line in richTextBox1.Lines)
{
   if (line != "")
   {
       rt.Add(line);
   }
}
richTextBox1.Lines = rt.ToArray();

在RichTextBox上,每个句子之间只留两个空行

这正是您所需要的,经过测试,运行良好(但效率不高)

List<string> rt = new List<string>();
bool doAdd = true;
foreach (string line in richTextBox1.Lines)
{
    if (doAdd)
    {
        rt.Add(line);
        doAdd = true;
    }
    if (string.IsNullOrEmpty(line))
    {
          doAdd = false;
    }
    else
    {
         if (!doAdd)
           rt.Add(line);
         doAdd = true;
    }
}
richTextBox1.Lines = rt.ToArray();

我将无法对此进行测试,但您当然可以尝试此

        List<string> rt = new List<string>();
        string content = richTextBox.Text;
        foreach (string line in content.Split(''n'))
        {
            if (String.IsNullOrWhiteSpace(line))  //checks if the line is empty
                continue;
            rt.Add(line);
            rt.Add("'r'n");  //makes a new line
            rt.Add("'r'n");   // makes another new line
        }