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