В этой статье я продолжу изучать функции строк. Если функции из предыдущей статьи были и в старых версиях 1С (1С 8.1, 1С 8.2), то в этой статье разберем функции, которые появились уже в платформе 8.3.
Сравнение строк в 1С
Начиная с режима совместимости 8.3.6, появилась возможность сравнивать строки по длине. Это выполняет метод СтрСравнить(<ПерваяСтрока>,<ВтораяСтрока>). В качестве параметров этого метода указываются сравниваемые строки. А возвращает этот метод следующие значения
0 – строки равные
1 – первая строка больше второй
-1 – первая строка меньше второй
Обе строки приравниваются к одинаковому регистру. Причем можно сравнивать, как сами строки, так и переменные с типом строка.
То есть вот так:
Строка1 = "Привет, мир!"; Строка2 = "Привет мир!"; РезСравнения = СтрСравнить(Строка1,Строка2);
Или так:
РезСравнения = СтрСравнить("Привет, мир!","Привет мир!");
Результат сравнения этих строк будет следующий:
Причем не имеет значение, имеются в строке пробелы или нет.
В этом случае метод вернул -1, хоть и Строка2 отличается от Строка1 только пробелами.
Функции СтрНачинаетсяС и СтрЗаканчиваетсяНа в 1С
При помощи этих двух похожих функций можно определить начинается ли строка с какой-то подстроки, либо заканчивается ли строка какой-то подстрокой. Причем проверки выполняются с учетом регистра. Обе функции работают, начиная с режима совместимости 8.3.6.
Например, у нас имеется строка «Привет, Владимир Петрович, как дела?». Мы можем определить, начинается эта строка на слове «Привет», и заканчивается ли она словами «как дела?».
СтрокаПроверки = "Привет, Владимир Петрович, как дела?"; Начинается = СтрНачинаетсяС(СтрокаПроверки,"Привет"); Заканчивается = СтрЗаканчиваетсяНа(СтрокаПроверки, "как дела?");
И посмотрим, какой результат будет у этих функций
Обе функции возвращают истину, если строка начинается указанной подстрокой или заканчивается. Причем регистр подстроки важен!
Разделить и соединить строку в 1С
Начиная с режима совместимости 8.3.6, в платформе 1С появилась возможность разъединять и соединять строки. Делается это при помощи функции СтрРазделить и СтрСоединить.
Функция СтрРазделить разделяет строки по определенному разделителю и возвращает массив со строками, которые получились в результате разделения.
Функция СтрСоединить принимает массив строки и соединят их в одную.
Разберем подробнее и с примерами.
Функция СтрРазделить имеете следующий синтаксис СтрРазделить(<Строка>,<Разделитель>, <ВключатьПустые>).
Где
Строка – разделяемая строка
Разделитель – символ или символы, по которым строка будет разделена
ВключатьПустые – тип булево, если Истина, то в разделенных строках будут пустые строки, именное пустые — «».
Рассмотрим пример.
Разделим строку с каким-то кодом «DGFTF-SQ2WC-2XSD2—SDFR1» на отдельные значения, разделителем в нашем случае будет символ «-». Причем, я намеренно сделал два символа-разделителя вместе, чтобы показать, как работает второй параметр ВключатьПустые.
СтрокаРазложения = "DGFTF-SQ2WC-2XSD2--SDFR1"; МассивРазделенияСПуст = СтрРазделить(СтрокаРазложения,"-",Истина); МассивРазделенияБезПуст = СтрРазделить(СтрокаРазложения,"-",Ложь);
В этом примере два массива, посмотрим в отладке на первый
А также на второй:
Точно также, как разложили строку, мы можем соединить её из строк в массиве, используя метод СтрСоединить. Этот метод является функцией, которая возвращает соединенную строку и имеет следующий синтаксис.
СтрСоеднить(<МассивСтрок>,<Разделитель>)
Где:
МассивСтрок – массив или фиксированный массив строк, которые нужно будет соединить.
Разделитель – символ или строка, которая будет вставлена между соединяемыми строками. Необязательный параметр. Если его не будет, то строки будут соединены слитно.
Доработаем предыдущий пример: объединим строки в массиве без пустого символа, поставив наклонную черту в качестве разделителя.
СтрокаСоединения = СтрСоединить(МассивРазделенияБезПуст,"/");
Получится следующий результат:
Другие статьи о примитивных типах:
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы:
Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009