Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   00111100011110110011111000 (http://forums.kuban.ru/f1040/00111100011110110011111000-7353632.html)

angro 30.11.2015 12:51

00111100011110110011111000
 
вот есть такая ТЗ, надо получить все наборы строк из единиц

есть какой-то простой способ?

angro 30.11.2015 12:52

то есть в результате должно быть 4 массива
1111
1111
11
11111

roma n 30.11.2015 12:59

СтрЗаменить("0",СимволыПС)
Если ЗначениеЗаполнено...

GariPortman 30.11.2015 12:59

Из строки 00111100011110110011111000
получить
1111
1111
11
11111
СтрЗаменить(ИсходнаяСтрока,"0000",Символы.ПС);
СтрЗаменить(ИсходнаяСтрока,"000",Символы.ПС);
СтрЗаменить(ИсходнаяСтрока,"00",Символы.ПС);
СтрЗаменить(ИсходнаяСтрока,"0",Символы.ПС);

При чем здесь массив?

USSR 30.11.2015 13:00

Читаешь в цикле от 1 до длины строки очередной символ, как только "1", создаешь новый массив, как только "0", закрываешь предыдуший. Это элементарная задача, либо я что-то недлпонял

roma n 30.11.2015 13:02

Если говорить о ТЗ, то штатное решение - соединение в запросе с самой собой с группировкой МИН выдаст на гора диапазоны строк

angro 30.11.2015 13:03

(2,3) это ТЗ, не строка,
(3) количество нулей неизвестно, массив нужен, чтобы иметь строки ТЗ
(4) да, хотелось что нибудь вроде
для каждого строка из ПреобразоватьКакМнеНадоТЗ(исхТЗ) цикл ..

angro 30.11.2015 13:04

и чтобы 2-3 строчки на преобразование. короче ленюсь

USSR 30.11.2015 13:04

можно и примерно так как коллеги написали, можно заменить "0" на разделитель и потом считать список значений как ИзСтрокиСРазделителями

GariPortman 30.11.2015 13:04

6-angro > А как выглядят строки ТЗ?

angro 30.11.2015 13:05

(5) о, точно, наверное удобно будет

angro 30.11.2015 13:06

(9) колонки ключсвязи, организация, подразделение, ....


Текущее время: 15:40. Часовой пояс GMT +3.