Как удалить в строке текст после пробела?

Рейтинг: 0Ответов: 1Опубликовано: 22.04.2015

Есть строка к примеру

str =("Успейте получить неделю изучения английского");

Как мне удалить все после - Успейте получить неделю Нужно,чтобы было после пробела в любой сроке я задаю к примеру диапазон к примеру от 20 до 50 знаков и режется все до пробела,чтобы слово было оконченное.

Мне нужна грубо говоря брать несколько начальных слов из текста и выносить их в заголовок.

Большое спасибо!

Ответы

▲ 4Принят

Судя по всему, вам надо string.IndexOf:

if (s.Length < 20)
    // короткая строка, что делаем?

var firstSpaceAfterLimit = s.IndexOf(' ', 20);
if (firstSpaceAfterLimit == -1)
    // нет пробела, что делаем?

if (firstSpaceAfterLimit >= 50)
    // следующий пробел аж за 50-ым символом, что делаем?

var cutString = s.Substring(0, firstSpaceAfterLimit);

Если нужно последнее вхождение, можно попробовать так:

if (s.Length < 20)
    // короткая строка, что делаем?

var lastSpaceWithinLimit = s.LastIndexOf(' ', 50);
if (lastSpaceWithinLimit == -1)
    // первый пробел аж за 50-ым символом или вообще нет, что делаем?

if (lastSpaceWithinLimit <= 50)
    // последний пробел до 20 символа, что делаем?

var cutString = s.Substring(0, lastSpaceWithinLimit);