|
v7: Работа с строкой | ☑ | ||
---|---|---|---|---|
0
andrew231
20.06.13
✎
10:12
|
Добрый день! Подскажите пожалуйста как из строки "папка1~папка2~папка3" получить отдельные значения перем1="папка1" перем2="папка2" перем3="папка3"ю спасибо заранее!
|
|||
1
zak555
20.06.13
✎
10:14
|
СЗ = глРазложить(МояСтрочка, "~");
|
|||
2
Ёпрст
20.06.13
✎
10:14
|
(0)
сп = глРазложить("папка1~папка2~папка3" ,"~"); Сообщить(сп.ПолучитьЗначение(1)); Сообщить(сп.ПолучитьЗначение(2)); Сообщить(сп.ПолучитьЗначение(3)); |
|||
3
andrew231
20.06.13
✎
10:16
|
(1) (2)
у меня нет этой процедуры конф ПУБ |
|||
4
20130601
20.06.13
✎
10:16
|
НН="папка1~папка2~папка3"
Папка1=Лев(НН,Найти(НН,"~")); |
|||
5
20130601
20.06.13
✎
10:17
|
и т.д
|
|||
6
zak555
20.06.13
✎
10:17
|
(3) не верю
|
|||
7
Mikeware
20.06.13
✎
10:17
|
(3)напиши
|
|||
8
oslokot
20.06.13
✎
10:18
|
(3) беда..
|
|||
9
Ёпрст
20.06.13
✎
10:18
|
(3) дарю
//****************************************************************************** // Функция глРазложить(Знач Стр, Разделитель = ",") Экспорт // // Параметры: // Стр - строка, которую необходимо разложить на подстроки. // Параметр передается по значению. // Разделитель - строка-разделитель, по умолчанию - запятая. // // // Возвращаемое значение: // список значений, элементы которого - подстроки // // Описание: // Функция "расщепляет" строку на подстроки, используя заданный // разделитель. Разделитель может иметь любую длину. // Если в качестве разделителя задан пробел, рядом стоящие пробелы // считаются одним разделителем, а ведущие и хвостовые пробелы параметра Стр // игнорируются. // Например, // глРазложить(",ку,,,му", ",") возвратит список значений из пяти элементов, // три из которых - пустые строки, а // глРазложить(" ку му", " ") возвратит список значений из двух элементов // Функция глРазложить(Знач Стр, Разделитель = ",") Экспорт СЗ = СоздатьОбъект("СписокЗначений"); Если Разделитель = " " Тогда Стр = СокрЛП(Стр); Пока 1=1 Цикл Поз = Найти(Стр,Разделитель); Если Поз=0 Тогда СЗ.ДобавитьЗначение(Стр); Возврат СЗ; КонецЕсли; СЗ.ДобавитьЗначение(Лев(Стр,Поз-1)); Стр = СокрЛ(Сред(Стр,Поз)); КонецЦикла; Иначе ДлинаРазделителя = СтрДлина(Разделитель); Пока 1=1 Цикл Поз = Найти(Стр,Разделитель); Если Поз=0 Тогда СЗ.ДобавитьЗначение(Стр); Возврат СЗ; КонецЕсли; СЗ.ДобавитьЗначение(Лев(Стр,Поз-1)); Стр = Сред(Стр,Поз+ДлинаРазделителя); КонецЦикла; КонецЕсли; КонецФункции // глРазложить |
|||
10
Рэйв
20.06.13
✎
10:18
|
Стр=СтрЗаменить("папка1~папка2~папка3","~",",");
Сп=СоздатьОбъект("СписокЗначений"); Стр=Сп.ИзСтрокиСРазделителями(Стр): Сообщить(сп.ПолучитьЗначение(1)); Сообщить(сп.ПолучитьЗначение(2)); Сообщить(сп.ПолучитьЗначение(3)); |
|||
11
Рэйв
20.06.13
✎
10:20
|
Стр=Сп.ИзСтрокиСРазделителями(Стр):
читать как Сп.ИзСтрокиСРазделителями(Стр): |
|||
12
andrew231
20.06.13
✎
10:23
|
(6) говорю нет её
|
|||
13
zak555
20.06.13
✎
10:24
|
(12) а если найду ?
|
|||
14
andrew231
20.06.13
✎
10:25
|
(13) у меня в глобальнике?
|
|||
15
andrew231
20.06.13
✎
10:26
|
(4)(9)(10) спасибо большое за помощь
|
|||
16
zak555
20.06.13
✎
10:28
|
(14) открыл 338 ПУБ -- в глобальном модуле есть функция глРазложить
|
|||
17
andrew231
20.06.13
✎
10:32
|
пуб версия 7.70.047 в глобальном модуле этой процедуры нет ;)
|
|||
18
zak555
20.06.13
✎
10:33
|
так ты бы уточнил, что это укр
|
|||
19
andrew231
20.06.13
✎
10:34
|
видимо укр немного обделили! а я не знал
|
|||
20
zak555
20.06.13
✎
10:36
|
(19) качать укр я не буду, но всё равно думаю, что это функция или аналогичная ей там пристуствует
|
|||
21
zak555
20.06.13
✎
10:36
|
*присутствует
|
|||
22
FlashC
20.06.13
✎
10:40
|
Функция глРазложить(Знач Стр, Разделитель = ",") Экспорт
Список = СоздатьОбъект("СписокЗначений"); Длина = СтрДлина(Разделитель); Стр = СокрЛП(Стр); Поз = Найти(Стр, Разделитель); Пока 0 < Поз Цикл Список.ДобавитьЗначение(СокрП(Лев(Стр, Поз-1))); Стр = СокрЛ(Сред(Стр, Поз+Длина)); Поз = Найти(Стр, Разделитель); КонецЦикла; Список.ДобавитьЗначение(Стр); Возврат Список; КонецФункции // глРазложить() |
|||
23
andrew231
20.06.13
✎
10:43
|
возможно но её название не глРазложить
|
|||
24
andrew231
20.06.13
✎
10:44
|
(22) спасибо ;)
|
|||
25
Ковычки
20.06.13
✎
10:45
|
СтрЗаменить("папка1~папка2~папка3" ,"~", "" "");
|
|||
26
andrew231
20.06.13
✎
10:52
|
(25) это не то что нужно.
спасибо всем за помощь. проблема решена. Всего доброго ;) |
|||
27
Ковычки
20.06.13
✎
10:53
|
это именно то, что нужно
|
|||
28
Ёпрст
20.06.13
✎
10:55
|
(25) он не поймет, как потом ЭТО использовать..
|
|||
29
andrew231
20.06.13
✎
10:58
|
(28) ну здесь и так способов уже достаточно ;)
(25) как в дальнейшем использовать, да я не знаю, но готов увидеть. спасибо! |
|||
30
Simod
20.06.13
✎
11:06
|
Такое еще забыли:
ТекСтрока = СтрЗаменить("папка1~папка2~папка3", "~", РазделительСтрок); Для ТекПозиция = 1 По СтрКоличествоСтрок(ТекСтрока) Цикл Сообщить(СтрПолучитьСтроку(ТекСтрока, ТекПозиция)); КонецЦикла; |
|||
31
Ковычки
20.06.13
✎
11:07
|
(30) см (25) )
|
|||
32
Ёпрст
20.06.13
✎
11:07
|
(30) это и есть в (25)
|
|||
33
FlashC
20.06.13
✎
11:07
|
(23) глРозкласти() чтоле? :-)
|
|||
34
Ковычки
20.06.13
✎
11:09
|
в ПУБ есть глРазложить
|
|||
35
FlashC
20.06.13
✎
11:10
|
да у него украинская )
|
|||
36
Simod
20.06.13
✎
11:12
|
(31)(32) Я в курсе, но так нагляднее.
|
|||
37
andrew231
20.06.13
✎
11:13
|
(33) щірий українець? глРозкласти все одно не має ;)
|
|||
38
vova1122
20.06.13
✎
11:16
|
(33) В Украинских конфах название процедур/функций также идут на русском языке
|
|||
39
FlashC
20.06.13
✎
11:18
|
народ - смайлы я просто так ставлю?
|
|||
40
andrew231
20.06.13
✎
11:32
|
(38) в (33) как бы пошутили...
|
|||
41
varelchik
20.06.13
✎
12:04
|
(0)
Смотри внимательно! ПУБ 7.70.045 (глобальный модуль) Процедура глПарсить(Стр,Спис,Разделитель = ";") Экспорт Спис.УдалитьВсе(); СтрПарс = Стр; Инд = Найти(СтрПарс,Разделитель); Пока Инд<>0 Цикл ТекСтр = Сред(СтрПарс,1,Инд-1); СтрПарс = Сред(СтрПарс,Инд+1,СтрДлина(СтрПарс)-Инд); ИндРавно = Найти(ТекСтр,"="); Если ИндРавно = 0 Тогда Продолжить; КонецЕсли; Пар = Сокрлп(Сред(ТекСтр,1,ИндРавно-1)); Зна = Сокрлп(Сред(ТекСтр,ИндРавно+1,СтрДлина(ТекСтр)-ИндРавно)); Спис.ДобавитьЗначение(Зна,Пар); Инд = Найти(СтрПарс,Разделитель); КонецЦикла; КонецПроцедуры //глПарсить |
|||
42
Эльниньо
20.06.13
✎
12:24
|
Миста вам не швидка допомога тут.
|
|||
43
zak555
20.06.13
✎
12:43
|
(41) бу га га
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |