![]() |
![]() |
![]() |
|
v8: Подскажите функцию разбивки строки | ☑ | ||
---|---|---|---|---|
0
manyak
20.10.08
✎
08:04
|
есть ли в 1с аналог VB функции split, возвращает массив созданный на основе строки разбитой на элементы заданным разделителем?
|
|||
1
wise
20.10.08
✎
08:17
|
а что МЕШАЕТ написать САМОМУ ?? эту ЧУДНУЮ функцию...
|
|||
2
manyak
20.10.08
✎
08:29
|
в 7-ке вроде была какая-то функция типа получается обьект многострочный текст и можно к каждой строке по индексу обращаться, помню видел пример обработки текст. файла, а вот что за функция не помню
|
|||
3
manyak
20.10.08
✎
08:30
|
не хочу изобретать велосипед
|
|||
4
Ursus maritimus
20.10.08
✎
08:31
|
СтрЗаменить, СтрЧислоСтрок, СтрПолучитьСтроку тебе помогут
|
|||
5
MSOliver
20.10.08
✎
08:31
|
если в качестве разделителя строк используется "разделитель строк" есть штатная)
|
|||
6
manyak
20.10.08
✎
08:33
|
оно - спасибо :), заменю разделитель на "символы.пс" и вперед!
|
|||
7
Hitcher
20.10.08
✎
09:36
|
Не это, часом? Взято из типовой УТ
// Функция "расщепляет" строку на подстроки, используя заданный // разделитель. Разделитель может иметь любую длину. // Если в качестве разделителя задан пробел, рядом стоящие пробелы // считаются одним разделителем, а ведущие и хвостовые пробелы параметра Стр // игнорируются. // Например, // РазложитьСтрокуВМассивПодстрок(",ку,,,му", ",") возвратит массив значений из пяти элементов, // три из которых - пустые строки, а // РазложитьСтрокуВМассивПодстрок(" ку му", " ") возвратит массив значений из двух элементов // // Параметры: // Стр - строка, которую необходимо разложить на подстроки. // Параметр передается по значению. // Разделитель - строка-разделитель, по умолчанию - запятая. // // // Возвращаемое значение: // массив значений, элементы которого - подстроки // Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт МассивСтрок = Новый Массив(); Если Разделитель = " " Тогда Стр = СокрЛП(Стр); Пока Истина Цикл Поз = Найти(Стр,Разделитель); Если Поз=0 Тогда МассивСтрок.Добавить(Стр); Возврат МассивСтрок; КонецЕсли; МассивСтрок.Добавить(Лев(Стр,Поз-1)); Стр = СокрЛ(Сред(Стр,Поз)); КонецЦикла; Иначе ДлинаРазделителя = СтрДлина(Разделитель); Пока Истина Цикл Поз = Найти(Стр,Разделитель); Если Поз=0 Тогда МассивСтрок.Добавить(Стр); Возврат МассивСтрок; КонецЕсли; МассивСтрок.Добавить(Лев(Стр,Поз-1)); Стр = Сред(Стр,Поз+ДлинаРазделителя); КонецЦикла; КонецЕсли; КонецФункции // глРазложить |
|||
8
manyak
20.10.08
✎
09:39
|
спасибо! пригодиться :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |