Записки программиста 1с

Cтроковые функции 1c

Строковые функции в 1с позволяют работать с примитивным типом данных строка. Полный набор этих функций доступен в самых новых версиях платформы. В старых платформах некоторые функции могут отсутствовать.

Строка-примитивный тип данных в языке программирования 1с.

Значения типа “Строка” в тексте программного модуля заключаются в кавычки.
Пример значения строкового типа: “это — строка”.
Рассмотрим функции работы со строками.

строковые функции 1с
строковые функции 1с

Строка()

Функция Строка() позволяет получить текстовое представление переменной другого типа.

Строка(ТекущаяДата());//"09.12.2020 01.01.01"
Строка(Истина);//Да
Строка(1010);//"1 010"

СтрДлина()

Длина строки СтрДлина(Строка)-определяет количество символов в строке.

строковые функции 1с
Вычисление длины строки 1с

СокрЛ(), СокрП(), СокрЛП()

Функции удаление пробелов и незначащих символов.
Эта функция удаляет следующе незначащие символы:

  • “Пробел”;
  • “Неразрывный пробел (НПП)”;
  • “Горизонтальная табулция (Таб)”;
  • “Вертикальная табуляция (ВТаб)”;
  • “Возврат коретки (ВК)”;
  • “Перевод строки (ПС)”.

Удаление пробелов слева. СокрЛ(Строка).

строковые функции 1с
Функция удаления пробелов слева

Удаление пробелов справа. СокрП(Строка).

строковые функции 1с
Функция удаления пробелов справа

Удаление пробелов слева и справа. СокрЛП(Строка).

строковые функции 1с
Функция удаления пробелов слева и справа

Лев(), Прав(), Сред()

Функции выделения или выбора символов из строки.

Лев(Строка,3)-выделить 3 символа слева. Функция имеет два аргумента Строка откуда выбираются символы и 3-количество выбираемых символов.

строковые функции 1с
Функция Лев() в 1с

Прав(Строка,3)- выделить 3 символа слева. Функция имеет два аргумента Строка откуда выбираются символы и 3-количество выбираемых символов.

строковые функции 1с
Функция Прав() в 1с

Сред(Строка,2,3)-Выделить начиная со второго три символа. Функция имеет три аргумента: Строка откуда выбираются символы, номер позиции с которой начинается выбор символов и количество выбираемых символов.

строковые функции 1с
Функция Сред() в 1с

ВРег(), НРег(), ТРег()

Строковые функции управляющие регистром букв.

  • ВРег()-верхний регистр
  • НРег()-нижний регистр
  • ТРег()-у каждого слова первая буква большая

ПустаяСтрока()

Функция, осуществляющая сравнение исходной строки с пустой строкой. Результатом функции будет логическое значение истина или ложь.

ПустаяСтрока("Приветсвие");//Ложь
ПустаяСтрока(" ");//Истина

//Аналог
СокрЛП(" ");//Истина

СтрНайти()

Функция Найти() возвращает положение первого символа заданной подстроки. Если такая подстрока не найдена, система возвращает ноль.

ИмяКонфигурации = «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));
	возврат ПустаяСтрока;
конецфункции

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *