2011-01-05 2 views
2

У меня есть строка, которая имеет такие значения, как «Zesty Bean Bites South of the Border».Обрезать строку и добавить слово после n-го слова

Я хотел бы сократить его до трех слов и добавить многоточие, получая «пикантный Bean Укусы ...»

Я попытался с помощью метода подстроки(), но он не разделится на словах.

ответ

1

Эта ручка, если имеется менее трех строк.

Я бы также рассмотреть возможность сделать это с помощью подсчета символов:

public string NewTitle(string OldTitle) 
    { 
     int HowManyWords = 3; 
     string RetValue = ""; 
     string[] parts = OldTitle.Split(' '); 
     for (int i = 0; i < parts.Length; i++) 
     { 
      if (i == 0) 
      { 
       RetValue += parts[i]; 
      } 
      else 
      { 
       RetValue += " " + parts[i]; 
      } 
      if (i >= (HowManyWords-1)) 
      { 
       break; 
      } 
     } 
     return RetValue; 
    } 
1

Используйте метод String.Split и используйте символ «пробел» в качестве разделителя. Затем используйте метод String.Join, чтобы объединить их.

1

Это следует сделать это:

string title = "Zesty Bean Bites South of the Border"; 
string[] aParts = title.split(' '); 
string newTitle = aParts[0] + aParts[1] + aParts[2] + "..."; 

Если вам нужен остаток строки после многоточия, продолжайте:

newTitle += aParts[3] + aParts[4] + aParts[5] + aParts[6]; 

Конечно, если длина названия меняется, это будет более подходящим в цикле и добавлением многоточия после aParts [2]. Чтобы быть в безопасности, проверьте aParts.Length, чтобы убедиться, что у вас на самом деле есть три слова, чтобы поместить многоточие после.

+0

что, если Aparts [2] равна нулю. Мы должны проверить это также –

+1

Согласовано. Что делать, если aParts [2] IS null? Чем бы Вы хотели заняться? Вы упомянули, что хотите добавить «...» после третьего слова в названии. Вы все еще хотите добавить его, если в названии нет слов? Вы хотите просто забыть об этом, поскольку название недостаточно долго? Вы говорите мне, что вы хотели бы сделать. – Flipster

+0

u можете проверить с помощью? если он равен нулю. – kbvishnu

Смежные вопросы