Описание:
Значения данного типа содержат строку в формате Unicode произвольной длины.
Обратите внимание. Для строки в 1С НЕ доступен обход её символов посредством оператора Для Каждого . Из . Цикл. Также НЕ доступно обращение к отдельным символам посредством оператора [. ]. Взятие отдельного символа строки возможно при помощи специальных функций для работы со строками, например, Сред (см. примеры использования ниже). При этом нумерация символов в строках 1С идёт с единицы.
Литералы:
Литералы строкового типа представляют собой набор символов заключенных в кавычки. Для задания в строке символа " (кавычка) необходимо записать две кавычки подряд. Кроме того, допускаются "многострочные" строковые константы. В исходном тексте многострочные константы могут задаваться двумя способами:
- Между фрагментами, представляющими отдельные строки многострочной строки, не должно встречаться никаких символов, за исключением пробелов, переводов строки и строк комментариев.
- Каждая отдельная составляющая не замыкается кавычками, а на каждой последующей строке помещен символ переноса строки | (вертикальная черта). В этом варианте комментарии допускаются, если строка начинается с символа комментария //.
Строки в языке 1С 8.3, 8.2 (в примерах)
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю). |
Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться:
Строка — примитивный тип данных в языке программирования 1С. Помимо 1С, этот тип данных используется во всех известных языках программирования, обычно он называется «string».
Функции работы со строками в 1С
Рассмотрим основные функции встроенного языка программирования 1С.
Строка
Функция Строка() позволяет получить текстовое представление переменных других типов.
СтрДлина
Функция позволяет получить количество символов в строке 1C, включая пробелы и незначащие символы.
СокрЛП, СокрЛ, СокрП
Полезная функция для удаления незначащих символов в строковом значении. СокрЛ обрабатывает символы, стоящие слева от последнего значащего символа, СокрП — справа. А СокрЛП — справа и слева.
Помимо пробелов, функция 1C удаляет такие символы, как перенос строки, неразрывный пробел и т.д.
Лев, Прав, Сред
С помощью данных функций очень просто получить первые (Лев) или последние (Прав) символы в строке, а также произвольное количество символов (Сред).
Найти
Функция для поиска подстроки внутри другой подстроки. Синтаксис Найти( , ). Функция возвращает число — номер позиции символа (или символов) в исходной подстроке. Если подстроки не найдено, вернётся число 0. Если в искомой подстроке есть несколько вхождений, вернется номер позиции первого совпадения.
ВРег, НРег, ТРег
Функции для управления регистром строки. ВРег — преобразует строку в верхний регистр. НРег — в нижний. ТРег — у каждого нового слова первая буква преобразуется в верхний регистр, остальные в нижний.
ПустаяСтрока
Функция, позволяющая сравнить исходную строку с пустой строкой. Проверяется наличие незначащих символов.
Получите 267 видеоуроков по 1С бесплатно:
Аналогично можно проверить строку на пустое значение следующим образом:
СтрЗаменить
Функция СтрЗаменить позволяет массово заменить искомое значение на нужное нам. Синтаксис:
СтрЧислоСтрок
Позволяет получить количество строк в многострочном тексте. Функция считает количество переносов строк (Символы.ПС).
Например, построчная обработка текстового фрагмента:
СтрПолучитьСтроку
С помощью данной функции можно получить произвольную строку из многострочного текста. Синтаксис — СтрПолучитьСтроку( , ).
СтрЧислоВхождений
Функция для подсчета числа вхождений произвольного фрагмента в строку. Например, подсчитать количество вхождений определенных символов или слов в текст.
Символ и КодСимвола
Две обратные функции. С помощью КодСимвола можно получить код символа в кодировке Unicode. Функцией Символ можно получить символ, зная Unicode кодификатор.
Часто встречающиеся задачи по работе со строками в 1С
Рассмотрим классические примеры решения задач в работе с текстовыми переменными.
Конкатенация строк в 1С
Конкатенация, или объединение строк в 1С делается оператором «+».
Преобразовать число в строку
Тут всё просто. Достаточно использовать метод «Строка()»:
Однако может смущать наличие неразрывного пробела.
Его можно убрать с помощью замены неразрывного пробела на пустую строку:
или с помощью метода Формат:
Кавычки в строке 1С
Для новичков достаточно трудно установить кавычки внутри строки, хотя в этом нет ничего сложного. Достаточно внутри строки поставить вместо одних кавычек двое.
Символ переноса строки
Символ переноса строки необходим для переноса строки на следующую строку. В 1С это можно сделать с помощью специальной конструкции «Символы.ПС».
Сравнение строк в 1С
Сравнить строки достаточно просто с помощью оператора сравнения — «=».
Однако для получения корректного сравнения часто требуется возвести строки в один регистр и убрать незначащие символы:
Таким образом, мы получим более точное сравнение двух строк.
Убрать пробелы в строке 1С
Достаточно часто нужно убрать пробелы в строке 1С.
Если требуется убрать пробелы справа и слева:
Если требуется убрать абсолютно все пробелы, можно заменить их на пустую строку:
Если требуется убрать неразрывные пробелы из строки, которая получена из числового типа, сделать это можно так:
Другие статьи по 1С:
Если Вы начинаете изучать 1С программирование, рекомендуем наш курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
ВРег( ) — все символы строки приводятся к верхнему регистру;
После выполнения кода в переменной МояСтрока будет значение: HELLOY WORLD
СтрДлина( ) — возвращает количество символов в строке;
После выполнения кода в переменной КоличествоСимволов будет значение: 12
ТРег( ) — преобразует строку к титульному регистру (у каждого слова первый символ преобразуется к верхнему регистру, остальные к нижнему);
После выполнения кода в переменной МояСтрока будет значение: Helloy World
КодСимвола( , ) — получает ASCII-код символа, расположенного в переданной строке на позиции с указанным номером;
Символ( ) – получает символ по указанному ASCII-коду;
Пример(получение массива символов строки):
После выполнения кода в массиве МассивСимволов хранятся все символы строки МояСтрока(на каждый элемент массива — один символ)
Лев( , ) — выбирает первые слева символы указанной строки(число символов указывается в параметре);
После выполнения кода в переменной МояСтрока будет значение: helloy
Найти( , ) — находит вхождение указанной подстроки в исходной строке;
После выполнения кода в переменной Позиция будет значение: 8(Номер позиции первого символа подстроки “world”)
НРег( ) — все символы строки приводятся к нижнему регистру;
После выполнения кода в переменной МояСтрока будет значение: helloy world
Прав( , ) — выбирает первые справа символы указанной строки(число символов указывается в параметре);
После выполнения кода в переменной МояСтрока будет значение: world
ПустаяСтрока( ) — проверяет строку на наличие значащих символов;
После выполнения кода в переменной СтрокаПуста будет значение: Ложь
СтрЗаменить( , , ) — находит в исходной строке все вхождения указанной подстроки поиска и заменяет ее на подстроку замены;
После выполнения кода в переменной МояСтрока будет значение: привет world
СтрПолучитьСтроку( , ) — получает строку многострочной строки по ее номеру;
После выполнения кода в переменной МояСтрока будет значение: привет мир
СтрЧислоВхождений( , ) — возвращает число вхождений подстроки поиска в исходную строку;
После выполнения кода в переменной *ЧислоВхождений * будет значение: 3(Так как в строке “helloy world” 3 раза встречается буква “l”)
СтрЧислоСтрок( ) — считает число строк в многострочной строке;
После выполнения кода в переменной *ЧислоСтрок * будет значение: 2
СокрЛ( ) – отсекает незначащие символы, стоящие слева от первого значащего символа в строке;
После выполнения кода в переменной МояСтрока будет значение: helloy world
СокрЛП( ) — отсекает незначащие символы, стоящие слева от первого значащего символа в строке, и пробелы, стоящие справа от последнего значащего символа в строке;
После выполнения кода в переменной МояСтрока будет значение: helloy world
СокрП( ) — отсекает незначащие символы, стоящие справа от последнего значащего символа в строке;
После выполнения кода в переменной МояСтрока будет значение: helloy world
Сред( , , ) — выбирает подстроку из исходной строки, начиная с символа , общим количеством .
После выполнения кода в переменной МояСтрока будет значение: helloy