Строковые функции в 1с позволяют работать с примитивным типом данных строка. Полный набор этих функций доступен в самых новых версиях платформы. В старых платформах некоторые функции могут отсутствовать.
Строка-примитивный тип данных в языке программирования 1с.
Значения типа “Строка” в тексте программного модуля заключаются в кавычки.
Пример значения строкового типа: “это — строка”.
Рассмотрим функции работы со строками.
Строка()
Функция Строка() позволяет получить текстовое представление переменной другого типа.
Строка(ТекущаяДата());//"09.12.2020 01.01.01"
Строка(Истина);//Да
Строка(1010);//"1 010"
СтрДлина()
Длина строки СтрДлина(Строка)-определяет количество символов в строке.
СокрЛ(), СокрП(), СокрЛП()
Функции удаление пробелов и незначащих символов.
Эта функция удаляет следующе незначащие символы:
- “Пробел”;
- “Неразрывный пробел (НПП)”;
- “Горизонтальная табулция (Таб)”;
- “Вертикальная табуляция (ВТаб)”;
- “Возврат коретки (ВК)”;
- “Перевод строки (ПС)”.
Удаление пробелов слева. СокрЛ(Строка).
Удаление пробелов справа. СокрП(Строка).
Удаление пробелов слева и справа. СокрЛП(Строка).
Лев(), Прав(), Сред()
Функции выделения или выбора символов из строки.
Лев(Строка,3)-выделить 3 символа слева. Функция имеет два аргумента Строка откуда выбираются символы и 3-количество выбираемых символов.
Прав(Строка,3)- выделить 3 символа слева. Функция имеет два аргумента Строка откуда выбираются символы и 3-количество выбираемых символов.
Сред(Строка,2,3)-Выделить начиная со второго три символа. Функция имеет три аргумента: Строка откуда выбираются символы, номер позиции с которой начинается выбор символов и количество выбираемых символов.
ВРег(), НРег(), ТРег()
Строковые функции управляющие регистром букв.
- ВРег()-верхний регистр
- НРег()-нижний регистр
- ТРег()-у каждого слова первая буква большая
ПустаяСтрока()
Функция, осуществляющая сравнение исходной строки с пустой строкой. Результатом функции будет логическое значение истина или ложь.
ПустаяСтрока("Приветсвие");//Ложь
ПустаяСтрока(" ");//Истина
//Аналог
СокрЛП(" ");//Истина
СтрНайти()
Функция Найти() возвращает положение первого символа заданной подстроки. Если такая подстрока не найдена, система возвращает ноль.
ИмяКонфигурации = «1С Управление торговлей»;
Позиция = Найти(ИмяКонфигурации, «торг»);
Сообщить(Позиция);
СтрЗаменить()
Эта функция позволяет массово заменить искомое значение на заданное
СтрЗаменить("Максимальное значение", "Максимальное", "Минимальное");//Минимальное значение
СтрЧислоСтрок()
Позволяет получить количество строк в многострочном тексте. Функция считает количество переносов строк (Символ.ПС)
КоличествоСтрок = СтрЧислоСтрок("Привет" + Символы.СП + "Мир"+ Символы.ПС+ "Добрый день!");
//КоличествоСтрок = 3;
СтрПолучитьСтроку()
Данная функция предназначена для получения строки из многострочного текста.
СтрокаНомер3=СтрПолучитьСтроку(Текст,3);
СтрЧислоВхождений()
Функция для подсчета числа вхождений произвольного фрагмента в строку.
СтрЧислоВхождений("тестирование программы","т");//2
Символ() и КодСимвола()
Две обратные функции. С помощью функции КодСимвола() можно получить код символа в кодировке Unicode.
Номер=КодСимвола("Т")// 1058
Функция Символ() позволяет получить символ зная его Unicode кодификатор.
Символ("1058");//"Т"
СтрРазделить()
Функция СтрРазделить() позволяет разделить Строку в массив подстрок. Пример использования функции рассмотрен в статье: Преобразовать массив 1с в строку.
МассивПодстрок = СтрРазделить("Привет Мир", " ");
//МассивПодстрок[0] = "Привет";
//МассивПодстрок[1] = "Мир";
СтрСоединить
Функция СтрСоединить() обратная функции СтрРазделить(). СтрСоединить объединяет массив подстрок в одну строку. Пример использования функции рассмотрен в статье: Преобразовать масссив 1с в строку.
МассивПодстрок = Новый Массив;
МассивПодстрок[0] = "Привет";
МассивПодстрок[1] = "Мир";
Строка = СтрСоединить(МассивПодстрок, " ");
//Строка = "Привет Мир";
ВвестиСтроку()
Введение строкового значения возможно с помощью функции ВвестиСтроку(). Пример:
Перем Имя;
Имя="";
ВвестиСтроку(Имя,"Введите Имя");
СтрШаблон()
Функция СтрШаблон()
формирует конечную строку, путем подстановки строковых представлений фактических параметров в указанные места шаблона. Шаблон может состоять из текста и параметров. Каждый параметр начинается с подстановочного знака %(процент), за которым следует порядковый номер параметра. Нумерация параметров начинается с 1. Если количество параметров в шаблоне не совпадает с количеством фактически переданных параметров, будет сгенерировано исключение: «Недостаточно фактических параметров» или «Очень много параметров».
Номенклатура = "Стол деревянный";
Артикул = "02515";
Стр = СтрШаблон("Товар: %1, Артикул: %2 не найден!", Номенклатура, Артикул);
Сообщить(Стр);
//Результат:
// Товар: Стол деревянный, Артикул: 02515 не найден!
Строковые функции 1с. Примеры использования.
Конкатенация строк в 1с
Конкатенация или объединение строк в 1с производиться оператором “+”.
"Первая строка"+"Вторая";//Первая строкаВторая
Кавычки в строке 1с
Для заключения названия в кавычки, необходимо внутри строки отобразить кавычку как символ. Для этого, в строке необходимо написать две кавычки подряд. Например
НазваниеОрганизации=" Общество с ограниченной ответственность ""Новая Организация"";
Нами рассмотрены строковые функции.
функция Строка пробелов
Получает строку пробелов заданной длины.
&НаСервере
функция ПолучитьСтрокуПробелов(Длина)
Строка="11111 11111 11111 11111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 ";
пустаяСтрока=Лев(СтрЗаменить(Строка,"1"," "),Длина+Окр(Длина/2));
возврат ПустаяСтрока;
конецфункции