Разбить строку на несколько строк - PullRequest
1 голос
/ 16 марта 2010

У меня есть длинная строка комментариев, которую я хотел бы разбить на несколько строк.

В настоящее время отображается как <%= Html.Encode(item.important_notes) %> Я играл с использованием .Substring, чтобы разбить его, но не могу понять, как предотвратить его разбиение в середине слова. Вместо символов 1-100 в строке 1 и 101-200 в строке 2 я хотел бы сделать что-то вроде символа 1 через последний пробел перед символом 100 в строке один. Этот символ проходит через последний пробел перед следующими 100 символами в строке 2 и т. Д.

Каков наилучший способ сделать это?

РЕДАКТИРОВАТЬ: с использованием ASP.NET-MVC

Ответы [ 2 ]

1 голос
/ 16 марта 2010

Я бы использовал комбинацию подстроки и 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, но вы поняли.

0 голосов
/ 16 марта 2010

Не имея возможности говорить конкретно по вашей проблеме, я бы посоветовал вам изучить регулярные выражения. Регулярные выражения могут легко обрабатывать сложные текстовые шаблоны. Вам может быть доступна функция разбиения, которая принимает именно такое регулярное выражение и возвращает массив строк.

...