Вот что я пытаюсь сделать.У меня есть объект, возвращающийся из базы данных с описанием строки.Это описание может быть длиной до 1000 символов, но мы хотим показать только краткий обзор этого.Поэтому я кодировал следующее, но у меня возникли проблемы с удалением количества слов после того, как регулярное выражение нашло общее количество слов.Кто-нибудь есть хороший способ опровергнуть слова, которые меньше, чем Regex.Matches?
Спасибо!
if (!string.IsNullOrEmpty(myObject.Description))
{
string original = myObject.Description;
MatchCollection wordColl = Regex.Matches(original, @"[\S]+");
if (wordColl.Count < 70) // 70 words?
{
uxDescriptionDisplay.Text =
string.Format("<p>{0}</p>", myObject.Description);
}
else
{
string shortendText = original.Remove(200); // 200 characters?
uxDescriptionDisplay.Text =
string.Format("<p>{0}</p>", shortendText);
}
}
РЕДАКТИРОВАТЬ:
Так вот, что я получил работусамостоятельно:
else
{
int count = 0;
StringBuilder builder = new StringBuilder();
string[] workingText = original.Split(' ');
foreach (string word in workingText)
{
if (count < 70)
{
builder.AppendFormat("{0} ", word);
}
count++;
}
string shortendText = builder.ToString();
}
Это не красиво, но это сработало.Я бы назвал это довольно наивным способом сделать это.Спасибо за все предложения!