|
|
Парсинг строки |
☑ |
|
0
Nerian
09.09.04
✎
10:48
|
Привет. Вопрос по работе со стоками в 1с8. Есть стока вида:
"имя:фамилия:отчество:возраст". Как в 1с8 реализовать чтото в виде парсинга? Какую нибудь функцию например ПарсингСтроки(НомерПараметра) которая вернёт имя если номер параметра 1, фамилию если 2 и тд?
|
|
|
1
Camino
09.09.04
✎
11:28
|
Не знаю как в восьмерке, но в 7.7 я решил бы проблему так:
стр="""+СтрЗаменить(стр,":",""",""")+""";
сз=ИзСТрокиСРазделителями(стр);
|
|
|
2
Nerian
09.09.04
✎
11:39
|
Тогда такой вот вопрос: есть две строки стрА и стпБ, как их сложить в стпВ так чтобы стпВ содержала такую стоку:
стрА
стрБ
тоесть переход на новую строку, аналог сишного "\n"?
|
|
|
3
SnarkHunter
09.09.04
✎
11:43
|
стрВ = стрА + chr(13) + chr(10) + стрБ
|
|
|
4
44
09.09.04
✎
11:53
|
В 8-ке: стрВ = стрА + Символы.ПС + стрБ
|
|
|
5
Nerian
09.09.04
✎
11:57
|
Спасибо всем! написал парсинг:
стр="имя:фамилия:отчество:возраст";
стр=СтрЗаменить(стр,":",символ(10));
имя=стрПолучитьСтроку(стр,1);
фамилия=стрПолучитьСтроку(стр,2);
...
|
|
|
6
SergeyFirst
09.09.04
✎
12:39
|
Что зря я её писал что ли...:-)
Функция ПарсингСтроки(ЗаданнаяСтрока,НомерПараметра)
Подстрока=ЗаданнаяСтрока+":";
ТекущийНомер=0;
Пока ТекущийНомер<>НомерПараметра Цикл
Если Найти(ТребуемаяСтрока,":")>0 Тогда
ИскомаяСтрока=Лев(Подстрока,Найти(Подстрока,":")-1);
ТекущийНомер=ТекущийНомер+1;
Подстрока=Прав(Подстрока,СтрДлина(Подстрока)-Найти(Подстрока,":"));
Иначе
Возврат "";
КонецЕсли;
КонецЦикла;
Возврат СокрЛП(ИскомаяСтрока);
КонецФункции
|
|
|
7
Nerian
09.09.04
✎
12:43
|
всё равно спасибо :))
|
|