我有一长串评论,我想分成多行。
目前显示为<%= Html.Encode(item.important_notes) %>
我曾经使用.Substring
来分割它,但无法弄清楚如何防止它在一个单词的中间分裂。而不是第1行的字符1-100和第2行的101-200,我想在第一行的字符100之前做最后一个空格的字符1。该字符通过第2行的下一个100个字符之前的最后一个空格等。
这样做的最佳方式是什么?
编辑:使用ASP.NET-MVC
答案 0 :(得分:1)
我会使用substring和lastindexof的组合。你得到最后一个与数字结合的索引,以获得断点后的第一个空格。
StringBuilder sb = new StringBuilder();
while (base.Length > 100)
{
if (!base.Contains(" ")) { break;
sb.Append(base.Substring(0, base.Substring(0, 100).LastIndexOf(" ")));
//code to trim down base
sb.Append(/*newline*/);
}
sb.Append(base);
写的是adhoc,但你明白了。
答案 1 :(得分:0)
如果不能专门针对您的问题发言,我建议您查看正则表达式。正则表达式能够轻松处理复杂的文本模式。您可能有一个可用的split函数,它只接受这样的正则表达式并返回一个字符串数组。