[SOLVED] Как обрезать текст по количеству символов?

maxim.gutareff

Пользователь
Регистрация
27.01.2018
Сообщения
255
Благодарностей
22
Баллы
18
Имеется текст в переменной:

"Остров Оаху, Гавайи
Остров Оаху (площадь 1538 кв. км) является наиболее густонаселенным, наиболее развитым и наиболее известным из Гавайских островов. Здесь проживает почти 80% населения штата, причем более половины из них - в городе Гонолулу. Сам остров представляет собой сочетание двух диагональных горных цепей (Ваианаэ и Коолау) со множеством старых вулканических конусов и двух достаточно широких прибрежных равнин. Подветренное побережье с его новыми жилыми областями, спортивными полями и луна-парком является достаточно молодым курортным районом, в то время как наветренное побережье на востоке считается самым густонаселенным местом архипелага, а северный берег давно известен как настоящая Мекка серфинга.

Нужно обрезать его по количеству символов (с пробелами) до 280. Для постинга в твиттер.

Честно искал на форуме и нашел регулярку: .{0,28}
Она работает, но максимум может сократить до 99 символов. Видимо не понимает трехзначные числа.

Заранее спасибо за быстрый ответ!
 

SergSh

Client
Регистрация
10.05.2017
Сообщения
540
Благодарностей
395
Баллы
63
В красный кубик (Свой C# код), в низу убрать галочку с чекбокса (Не возвращать значение) и выбрать переменную проекта для обрезанной строки.
Код:
string str = project.Variables["stroka"].Value;
int strLength = 280;
return str.Length <= strLength ? str : str.Substring(0, strLength);
 

maxim.gutareff

Пользователь
Регистрация
27.01.2018
Сообщения
255
Благодарностей
22
Баллы
18
В красный кубик (Свой C# код), в низу убрать галочку с чекбокса (Не возвращать значение) и выбрать переменную проекта для обрезанной строки.
Код:
string str = project.Variables["stroka"].Value;
int strLength = 280;
return str.Length <= strLength ? str : str.Substring(0, strLength);
Спасибо. Можно закрывать тему.
 

igzdizain

Client
Регистрация
16.05.2015
Сообщения
495
Благодарностей
15
Баллы
18
В красный кубик (Свой C# код), в низу убрать галочку с чекбокса (Не возвращать значение) и выбрать переменную проекта для обрезанной строки.
Код:
string str = project.Variables["stroka"].Value;
int strLength = 280;
return str.Length <= strLength ? str : str.Substring(0, strLength);
не пойму где галочку надо убрать
 

SergSh

Client
Регистрация
10.05.2017
Сообщения
540
Благодарностей
395
Баллы
63
В кубике для кода есть такой чекбокс. После снятия галочки активируется выпадающий список переменных проекта
 

igzdizain

Client
Регистрация
16.05.2015
Сообщения
495
Благодарностей
15
Баллы
18

mig-z

Client
Регистрация
05.12.2014
Сообщения
305
Благодарностей
71
Баллы
28
В красный кубик (Свой C# код), в низу убрать галочку с чекбокса (Не возвращать значение) и выбрать переменную проекта для обрезанной строки.
Код:
string str = project.Variables["stroka"].Value;
int strLength = 280;
return str.Length <= strLength ? str : str.Substring(0, strLength);
Скажите пожалуйста, а как количество символов через переменную передать?

Пробую:
string str = project.Variables["ad_text"].Value;
int strLength = project.Variables["simb_cut"].Value;
return str.Length <= strLength ? str : str.Substring(0, strLength);

Но ошибка компиляции кода.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
Скажите пожалуйста, а как количество символов через переменную передать?

Пробую:
string str = project.Variables["ad_text"].Value;
int strLength = project.Variables["simb_cut"].Value;
return str.Length <= strLength ? str : str.Substring(0, strLength);

Но ошибка компиляции кода.
C#:
string str = project.Variables["ad_text"].Value;
int strLength = int.Parse(project.Variables["simb_cut"].Value);
return str.Length <= strLength ? str : str.Substring(0, strLength);
 
  • Спасибо
Реакции: izubr и mig-z

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