|
|
работа со строкой |
☑ |
|
0
zippygrill
09.04.12
✎
10:24
|
помогите разбить строку:
Есть строка -> "йцукенгшщзхъффыввапролджээячсмиитьтбюжэлорпрущорпккпиу тимкп кптщу"
Как мне ее разбить по 50 символов?
|
|
|
1
Ненавижу 1С
гуру
09.04.12
✎
10:25
|
функции Сред() и СтрДлина() вам подойдут
|
|
|
2
Wobland
09.04.12
✎
10:26
|
Сред(стр, й, 50)
|
|
|
3
zippygrill
09.04.12
✎
10:28
|
(1)спс
(2) вместо "й" как начальный номер можно ставить 0 да?
|
|
|
4
Ненавижу 1С
гуру
09.04.12
✎
10:29
|
(3) нет, 1
|
|
|
5
zippygrill
09.04.12
✎
10:29
|
(4) ок
|
|
|
6
Omskdizel
09.04.12
✎
10:30
|
(3) Нет, там счетчик цикла
|
|
|
7
zippygrill
09.04.12
✎
10:33
|
(6) пример?
|
|
|
8
Wobland
09.04.12
✎
10:36
|
(7) й=1; Пока й<=СтрДлина(стр) Цикл Сред(стр, й, 50); й=й+50;
|
|
|
9
DimVad
09.04.12
✎
10:38
|
Что если где-то так:
СтрокаИсходная = "йцукенгшщзхъффыввапролджээячсмиитьтбюжэлорпрущорпккпиу тимкп кптщу";
МойСписок = Новый СписокЗначений;
Если СтрДлина(СтрокаИсходная) <= 50 Тогда
МойСписок.Добавить(СтрокаИсходная);
Иначе
Пока НЕ ПустаяСтрока(СтрокаИсходная) Цикл
МояПодстрока = Лев(СтрокаИсходная, 50);
СтрокаИсходная = Сред(СтрокаИсходная, 51);
МойСписок.Добавить(МояПодстрока);
КонецЦикла;
КонецЕсли;
|
|
|
10
zippygrill
09.04.12
✎
10:41
|
(8) спасибо за помощь. все готово.
|
|
|
11
Ненавижу 1С
гуру
09.04.12
✎
10:41
|
СтрокаИсходная = "йцукенгшщзхъффыввапролджээячсмиитьтбюжэлорпрущорпккпиу тимкп кптщу";
МойСписок = Новый СписокЗначений;
Пока НЕ ПустаяСтрока(СтрокаИсходная) Цикл
МояПодстрока = Лев(СтрокаИсходная, 50);
СтрокаИсходная = Сред(СтрокаИсходная, 51);
МойСписок.Добавить(МояПодстрока);
КонецЦикла;
|
|
|
12
Omskdizel
09.04.12
✎
10:41
|
(9) Ну можно и так, вобщем-то способ не один. Можно еще как-нить извратиться, например с реквизитом с фиксированной длиной в 50 символов :)
|
|
|
13
AF
09.04.12
✎
10:58
|
Что то напомнило... Типа узнать четное или нет... Не самый неоптимальный, но достаточно тупой... ))))
Тек = "долуциполдцуипдолуицпдолицполдицулдкопрцулдкопрцушпрулоипоруми орйиподйрмипд";
ТекТемп = Тек;
МаксДлина=10;
ТекДлина = 0;
Слофо="";
Для х=0 по СтрДлина(СокрЛП(Тек)) Цикл
Левая_Буква=Лев(ТекТемп,1);
Слофо = Слофо+""+Левая_Буква;
ТекТемп=Прав(ТекТемп,СтрДлина(ТекТемп)-1);
ТекДлина = ТекДлина + 1;
Если ТекДлина=МаксДлина Тогда
ТекДлина=0;
Сообщить(Слофо);
Слофо="";
КонецЕсли;
КонецЦикла;
Если СтрДлина(Слофо)<>0 Тогда
Сообщить(Слофо);
КонецЕсли;
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший