Как уменьшить текст до.... символов?

igzdizain

Client
Регистрация
16.05.2015
Сообщения
495
Благодарностей
15
Баллы
18
Есть текст : Город Нокерстифф, штат Огайо. Безутешный Уиллард Рассел готов на всё, лишь бы спасти умирающую жену. Он начинает молить небеса о спасении, забыв об остальном мире, в результате чего его сын Элвин вынужден превратиться из забитого школьника в решительного мужчину, способного взять дело в свои руки.
Как уменьшить этот текст до 200 знаков? То есть текст этот в переменной и надо проверить сколько там символов и если символов больше 200, то сократить до 200, но чтобы последнее слово обрезалось цельно, а не на половине слова
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 423
Баллы
113
C#:
string str = project.Variables["text"].Value; // исходный текст
char[] mas = {' ', '.', ',', '!', '?'}; // массив символов-разделителей
int cut = 200; // до какой длины обрезать текст
int len = 0;
if(str.Length > cut){
    do{
        char c = str[cut];
        foreach(char item in mas)
            if(item == c){
                len = cut; break;
            }
        cut--;
    }while(len == 0);
    str = str.Remove(len);
}
return str;
 
  • Спасибо
Реакции: Sergodjan и igzdizain

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 578
Благодарностей
9 189
Баллы
113
Есть текст : Город Нокерстифф, штат Огайо. Безутешный Уиллард Рассел готов на всё, лишь бы спасти умирающую жену. Он начинает молить небеса о спасении, забыв об остальном мире, в результате чего его сын Элвин вынужден превратиться из забитого школьника в решительного мужчину, способного взять дело в свои руки.
Как уменьшить этот текст до 200 знаков? То есть текст этот в переменной и надо проверить сколько там символов и если символов больше 200, то сократить до 200, но чтобы последнее слово обрезалось цельно, а не на половине слова
Кубик "Обработка текста - Regex" взять первое (нулевое) совпадение.
Регулярка:
[\w\W]{1,200}(?=\ )
64123
 
  • Спасибо
Реакции: wasya и Alexmd

DrunkDeath

Client
Регистрация
24.12.2014
Сообщения
589
Благодарностей
402
Баллы
63
Я такой код для этого использую:
C#:
return project.Variables["Переменная с текстом"].Value.Substring(0, 200);
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)