格式化段落中的文本

时间:2013-01-27 19:35:42

标签: c#-4.0

从未格式化的文本段开始,我想将行设为“连续”(即删除换行符)。在下一段中,在前一行文本的第一行中有额外的(“自由”)空格。

这是我的代码:

   private String FormateContent(String content)
    {
        StringBuilder sb = null;
        content = content.Replace(evaluationString, String.Empty);
        content = content.Trim().Trim('\r').Trim('\n').Trim('\t');



        if (content.Trim() != String.Empty)
        {
            sb = new StringBuilder();
            String[] bodyLines = content.Split(new String[] { Environment.NewLine, "\n" }, StringSplitOptions.None);
            for (int i = 0; i < bodyLines.Length; i++)
            {
                if (bodyLines[i].Trim() != String.Empty)
                {
                    sb.Append(bodyLines[i]);
                }

            }
            content = sb.ToString();
            //  content = content.Split(new String[] { Environment.NewLine, "." }, StringSplitOptions.None).ToString();

        }

        return content;
    } 

1 个答案:

答案 0 :(得分:0)

我认为您的主要问题是此代码:

if (bodyLines[i].Trim() != String.Empty)
{
    sb.Append(bodyLines[i]);
}

您正在测试剪裁后的字符串,但是您将未剪裁的字符串添加到StringBuilder。我想你想要的是:

string trimmedLine = bodyLines[i].Trim();
if (trimmedLine != string.Empty)
{
    sb.Append(trimmedLine);
}