我希望在文本必须相同之前/之后用break和space替换换行

时间:2013-04-26 11:25:55

标签: asp.net

我希望在文本必须相同之前用break和spaces替换换行符。 例如:

文字:

这是.net班,有100名学生。

 They are able to perform well.

      They require certification for career improvement.

这是我需要的相同缩进的上述格式。

我有正则表达式,即lblQuestion.Text = lang.Replace(“\ n”,“
”); 但它只是将文本替换为下一行,但它缺少空格并将输出作为

现在的输出:

这是.net班,有100名学生。

他们能够表现良好。

他们需要获得职业发展认证。

必需的输出:

这是.net班,有100名学生。

 They are able to perform well.

      They require certification for career improvement.

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

您还需要替换每个起始空格而没有中断空格( ),因此浏览器不会collapse the whitespace为单个。

一个简单的替代方法是将输出括在<pre></pre>元素中(代表预格式化)。

答案 1 :(得分:0)

pre标记可用于以您希望的方式显示文字,而无需使用br标记替换换行符。但是,您可能需要设置pre标记字体的样式,因为某些浏览器的默认字体似乎是单字格空间。

编辑:

假设您正在使用Web窗体,要动态执行此操作,请在aspx标记中定义Literal控件,如下所示:

<pre style="font-family:arial">
<asp:Literal ID="litText" runat="server"></asp:Literal>
</pre>

然后在你的代码隐藏中,设置Literal的Text:

protected void Page_Load(object sender, EventArgs e)
{
    litText.Text = @"This is .net class with 100 students.
    They are able to perform well.
        They require certification for career improvement.";
}