Имя: Пароль:
1C
1С v8
Функция Стр Разделить() . непонятно как разделить
0 kentlutsk
 
09.12.15
11:25
есть такое выражение:
СтрРазделить("Один,Два"",""Три, Четыре,", """,""", 0)

почему на выходе четыре элемента массива а не два ?
0    "Один"    Строка
1    "Два"    Строка
2    "Три"    Строка
3    " Четыре"    Строка
1 igork1966
 
09.12.15
11:29
<ВключатьПустые> (необязательный)

Тип: Булево.
Указывает необходимость включать в результат пустые строки, которые могут образоваться в результате разделения исходной строки.
Значение по умолчанию: Истина.
2 igork1966
 
09.12.15
11:30
(1) + У тебя там 0
+ разделитель у тебя не ,  а ","
3 kentlutsk
 
09.12.15
11:31
(1)
тогда вместо 4 имею 6 элементов, хочу 2
4 igork1966
 
09.12.15
11:31
О, сорри, протупил
5 igork1966
 
09.12.15
11:37
каждый из которых является индивидуальным разделителем.
6 igork1966
 
09.12.15
11:37
(5) + это про разделитель из СП
7 kentlutsk
 
09.12.15
11:39
(6) у тебя есть решение? у меня нету(
8 igork1966
 
09.12.15
11:39
Используй

СтрРазделить(СтрЗаменить("Один,Два"",""Три, Четыре,", """,""", "|"), "|")
9 kentlutsk
 
09.12.15
11:41
(8) костыль под стандартную функцию засчитан, спасибо
10 oleg_km
 
09.12.15
15:36
Только что написал функцию, если разделитель больше одного символа:

Функция Стр2Массив(исхСтрока, поискСтрока = " ") Экспорт
    Если СтрДлина(поискСтрока) = 1 Тогда Возврат СтрРазделить(исхСтрока, поискСтрока, Истина); КонецЕсли;
    
    Для и0 = 65000 По 65000 + 10 Цикл
        разд = Символ(и0);
        Если НЕ СтрНайти(исхСтрока, разд) Тогда Прервать; КонецЕсли;
    КонецЦикла;
    
    тек = СтрЗаменить(исхСтрока, поискСтрока, разд);
    Возврат СтрРазделить(тек, разд, Истина);
КонецФункции
11 kentlutsk
 
11.12.15
13:20
(10) хотелось чтобы стандартная работала)
12 vhl
 
11.12.15
13:47
(0)     может просто справку почитать?

<Разделитель> (обязательный)

Тип: Строка.
Строка символов, каждый из которых является индивидуальным разделителем.
13 vhl
 
11.12.15
13:51
(10) Да ты упоротый
Функция ИзСтрокиСРазделителем(Знач вхСтрока, вхРазделитель = ".")    
    Массив = Новый Массив;
    врСтрока = СтрЗаменить(вхСтрока, вхРазделитель, Символы.ПС);
    Для Счетчик = 1 По  СтрЧислоСтрок(врСтрока) Цикл
        Массив.Добавить(СтрПолучитьСтроку(врСтрока, Счетчик));
    КонецЦикла;
    Возврат Массив;
КонецФункции
14 kentlutsk
 
11.12.15
17:51
(12) +1
спасибо