Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 03:57

Прочитать строку (список значений) с конца

Автор beztrud, 16 фев 2016, 20:10

0 Пользователей и 1 гость просматривают эту тему.

beztrud

Здравствуйте! Подскажите пожалуйста. Есть строка (список значений) вида х1;х2;х3...хn. Как преобразовать данную строку к виду хn;...х3;х2;х1. Спасибо.

cska-fanat-kz

если классически строковая функция Найти() ищет только слева,
то начиная с какой-то платформы (8.3.6 или 8.3.7) у нее появился параметр - направление

Глобальный контекст (Global context)
СтрНайти (StrFind)
Синтаксис:

СтрНайти(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>)
Параметры:

<Строка> (обязательный)

Тип: Строка.
Исходная строка.
<ПодстрокаПоиска> (обязательный)

Тип: Строка.
Искомая подстрока.
<НаправлениеПоиска> (необязательный)

Тип: НаправлениеПоиска.
Указывает направление поиска подстроки в строке.
Значение по умолчанию: СНачала.
<НачальнаяПозиция> (необязательный)

Тип: Число.
Указывает позицию в строке, с которой начинается поиск.
Если параметр не задан и в параметре НаправлениеПоиска указано значение СНачала, то значение по-умолчанию равно 1.
Если параметр не задан и в параметре НаправлениеПоиска указано значение СКонца, то значение по умолчанию равно длине строки.
Не может быть отрицательным. В случае указания отрицательного значения выдаётся исключительная ситуация "Неверное значение параметра".
<НомерВхождения> (необязательный)

Тип: Число.
Указывает номер вхождения искомой подстроки в исходной строке.
Значение по умолчанию: 1.
Возвращаемое значение:

Тип: Число.
Позиция первого знака найденной подстроки. Нумерация символов в строке начинается с 1. Если строка не содержит указанной подстроки, то возвращается 0.
Описание:

Находит первое вхождение искомой строки как подстроки в исходной строке.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер), интеграция.
Примечание:

Если параметр <ПодстрокаПоиска> пустая строка, то возвращает 1.
Если оба параметра пустые строки, то возвращает 1.
Пример:

Если СтрНайти(Сотрудник.Имя, "Сергей") > 0 Тогда
    Сообщить(Сотрудник.Имя + " таб. №" + Сотрудник.Код);
КонецЕсли;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

vitasw

Бегите список значений с конца и соединяйте строки.

beztrud

"Бегите список значений с конца и соединяйте строки." А как взять список значений с конца и отсоединить строки? Я могу найти только символы ";". Остальные значения мне неизвестны.

vitasw

Массив=СтрРазделить(<Строка>, <Разделитель>, <ВключатьПустые>)
Строка="";
Количество=Массив.Количество();
Для ее=0 По Количество-1 Цикл
    Строка=Строка+Массив[Количество-ее]+";";
КонецЦикла;

beztrud

Да, Вы правы! Спасибо! Только небольшая поправка :


Массив=СтрРазделить(СписокРодителей,";");
Строка="";
Количество=Массив.Количество();
Для ЕЕ=1 По Количество Цикл
Строка=Строка+Массив[Количество-ЕЕ]+"/";
ИтоговаяСтрока = Лев(Строка,СтрДлина(Строка)-1);
Сообщить(ИтоговаяСтрока);
КонецЦикла;



Как я понял, в массиве строки начинаются с 1. Или я не прав?

vitasw


beztrud

Да, но при ЕЕ=0 Индекс выходит за пределы массива! При ЕЕ=1 По Количество всё выгружает и правильно выгружает!?

vitasw

Отладчик отменили? То что  индекс начинается с нуля и то как вы используете эту информацию в коде = 2 большие разницы

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск