- Убрать пробелы в строках 1С
- 1.Удаление лишних пробелов
- 2.Замена пробелов
- 3.Как убрать неразрывные пробелы?
- 4. Удаление из строки символов табуляции, символа возврата каретки, перевода Строки и перевода формы
- 5. Еще несколько способов удаления лишних пробелов в строке в 1С
- Вас могут заинтересовать следующие статьи:
- Убрать пробелы в строках 1С
- Удалить пробелы справа, слева
- Удалить все пробельные символы
- Убрать пробелы в 1С
- Убрать пробелы в строке 1С
- Убрать пробелы в числе 1С
Убрать пробелы в строках 1С
Необходимость убрать лишние пробелы в строке возникает нередко, и в 1С предусмотрен набор инструментов для решения этой задачи. Пробел относиться к так называемым «незначащим символам». В данной статье мы рассмотрим не только удаление пробелов, но и остальных незначащих символом. Незначащие символы: · Пробел · Неразрывный пробел · Табуляция · Символ возврата каретки · Перевод строки · Перевод формы Постараемся рассмотреть как можно больше вариантов решения этой задачи. Итак, от простого к сложному.
1.Удаление лишних пробелов
Для удаления пробелов в строках в 1С предусмотрены функции СокрЛ() – удалить пробелы слева СокрП() – удалить пробелы справа СокрЛП() – удалить все пробельные символы Выглядит это так: //Отсекает незначащие символы слева
Строка = СокрЛ(» Привет! «);
//Строка = «Привет! «;
//Отсекает незначащие символы справа
Строка = СокрП(» Привет! «);
//Строка = » Привет!»;
//Отсекает незначащие символы слева и справа
Строка = СокрЛП(» Привет! «);
//Строка = «Привет!»;
2.Замена пробелов
Замена пробелов нужна если пробел находится в строковом представлении числа //ПрСтрока = Убираем пробелы Строка = СтрЗаменить(Строка(ПрСтрока),» «,»»); //Строка = Убираемпробелы
3.Как убрать неразрывные пробелы?
Неразрывный пробел – это пробел, по которому не должен выполняться перенос на другую строку или другое разбиение текста при форматировании.
При представлении числового значения в строковое (Функция Строка(Число);) система может записать число с использованием пробелов, т.е. могут появиться разделители групп числа. Например, число 20000 система преобразовав в строку, добавит нам пробел «20 000».
Удаление лишних пробелов в таком случае можно выполнить через функцию Формат(), которая позволяет превратить число, дату или булево в строку. Функция Формат() принимает два параметра: <Значение>– это собственно то значение, которому мы хотим придать какой-либо вид, и – второй параметр, в котором и заключается весь смысл функции Формат(). В рассматриваемом примере мы будем использовать ЧГ (NG) – порядок группировки разрядов числа.
В качестве значения указываются числа через запятую, обозначающие количество группируемых разрядов справа налево. Но мы не будем задавать значение и получим строковое представление числа без пробелов.
Строка = Формат(20000, «ЧГ 20000»; Для того, чтобы убрать неразрывные пробелы, также можно воспользоваться функцией СтрЗаменить(). Эта функция позволяет заменить одну подстроку на другую, то есть мы просто заменили неразрывный пробел (Символы.НПП) в строке на пустое значение.
Значение>
Строка = СтрЗаменить(» Привет! Привет!», Символы.НПП, «»);
//Строка = » Привет!Привет!»; Иногда приведенные выше методы не удаляют пробельные символы. Такая ситуация может возникнуть, например, при работе с файлами Excel. Для решения данной задачи можно попробовать заменить, например, неразрывный пробел используя код символа 160 (код символа неразрывного пробела) на пустую строку.
Строка = СтрЗаменить(» Строка «, Символ(160),»»);
//Строка = «Строка»;
4. Удаление из строки символов табуляции, символа возврата каретки, перевода Строки и перевода формы
Для этих символом в 1С описано перечисление Символы (Chars) со значениями:
ВК – символ возврата каретки; ВТаб – вертикальная табуляция; НПП – неразрывный пробел; ПС – перевод строки; ПФ – перевод формы (страницы); Таб (Tab) – горизонтальная табуляция. Для удаления этих символов в строке можно использовать функцию замены СтрЗаменить(). Можно также использовать символы с соответствующими кодами по ASCII или Unicode. Например, вместо Символы.ВК и Символы.ПС поставить соответственно Символ(10) и Символ(13). Строка = СтрЗаменить(» Привет! Привет!», Символы.таб,»»);
Строка = СтрЗаменить(» Привет! Привет!», Символы.(13),»»);
5. Еще несколько способов удаления лишних пробелов в строке в 1С
По умолчанию программа «1С:Предприятие 8» преобразует значения типа Число и Дата к строке в соответствии с национальными установками. В меню «Администрирование → Региональные установки информационной базы» можно изменить и отдельные параметры форматирования дат и чисел, а также представление значений типа Булево. Например, можно в конкретной информационной базе отключить разделение триад числовых значений. Тогда при представлении числа в виде строки система не будет добавлять лишний пробел, а нам не нужно будет его, в последствии, удалять. Вариант, когда нужно из многострочия получить одну строку, то есть убрать лишние пробелы ПС. Сделать это можно, используя функцию СтрПолучитьСтроку(<Строка>, ). Смоделируем ситуацию для примера. Наша задача – убрать убрать лишние пробелы в строке и символы перевода строки. Код будет выглядеть следующим образом:
Код, убирающий лишние пробелы в строке
В итоге получим удаление лишних пробелов:
Преобразование строки путем удаления лишних пробелов
Специалист компании «Кодерлайн» Ольга ВолковаСтрока>
Вас могут заинтересовать следующие статьи:
94 [PROP_CODE] => TAGS2 [TITLE] => Вас могут заинтересовать следующие семинары: ) —> 95 [PROP_CODE] => TAGS [TITLE] => Вас могут заинтересовать следующие вебинары: ) —> Как сделать в 1С [1] => 1С: Конвертация данных [2] => Конвертация данных [3] => Обмен между базами [4] => Закрытие месяца [5] => Оценка задач [6] => Отчеты в 1С [7] => Моделирование [8] => HTTP [9] => Управление проектами [10] => БУ [11] => com-объекты [12] => 1С: WMS Управление складом [13] => РСБУ [14] => 1С: Сценарное тестирование [15] => Запросы 1С [16] => LINUX [17] => WEB [18] => Оптимизация [19] => 1С:Зарплата и Управление Персоналом [20] => Excel [21] => 1С: ERP [22] => ADO [23] => 1С:Управление производственным предприятием [24] => Внедрение [25] => Продажи [26] => Отчетность [27] => 1С: Розница [28] => 1С: CRM [29] => 1С:Бухгалтерия [30] => 1С:Комплексная автоматизация [31] => Производство [32] => Интеграция 1С [33] => Налоги [34] => Отпуск [35] => MS SQL Server [36] => Расширение конфигурации [37] => МСФО [38] => СКД [39] => Word [40] => WEB-сервисы 1С [41] => Внедрение ERP [42] => Перенос данных [43] => Торговое оборудование [44] => Лизинг [45] => 1С:Управление нашей фирмой [46] => Администрирование 1С [47] => 1С: Колледж [48] => Правила обмена [49] => 1С: Платформа ) —>
Убрать пробелы в строках 1С
При работе со строками, для удаления пробелов и других незначащих символов в 1С предусмотрены функции СокрЛ(), СокрП(), СокрЛП().
Удалить пробелы справа, слева
Незначащие символы — это «Пробел», «Неразрывный пробел», «Табуляция», «Возврат коретки», «Перевод коретки», «Перевод строки», «Перевод формы».
//Отсекает незначащие символы слева
Строка = СокрЛ(" Строка ");
//Строка = "Строка ";
//Отсекает незначащие символы справа
Строка = СокрП(" Строка ");
//Строка = " Строка";
//Отсекает незначащие символы слева и справа
Строка = СокрЛП(" Строка ");
//Строка = "Строка";
Удалить все пробельные символы
Для удаления всех пробельных символов строки можно воспользоваться функцией «СтрЗаменить()». Эта функция позволяет заменить одну подстроку на другую.
Строка = СтрЗаменить(" Строка Строка", Символы.НПП, "");
//Строка = "СтрокаСтрока";
При преобразовании числа к строке могут появиться разделители групп числа. Если разделителем групп является символ «Неразрывный пробел», то функцией СтрЗаменить() можно заменить данный символ на пустую строку.
Иногда, приведенные выше примеры не удаляют пробельные символы. Такая ситуация может возникнуть, например, при работе с Excel файлами. Для решения данной задачи можно попробовать заменить Символ(160) на пустую строку.
Строка = СтрЗаменить(" Строка ", Символ(160), "");
//Строка = "Строка";
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
О сайте | Обратная связь | Правила | Новости 1С | Copyright © 2023 Цитирование материалов (тексты, изображения, программный код) допускается только с размещением активной ссылки на сайт 1CLenta.ru |
Убрать пробелы в 1С
В этой статье разберём простые, но рабочие способы, как убрать пробелы в 1С в строках.
Убрать пробелы в строке 1С
Для демонстрации сделаем обработку, на управляемой форме которой создадим два реквизит, которые будут на этой форме в виде элементов, а также создадим команду формы с клиентским обработчиком.
Самый простой способ убрать пробелы, это воспользоваться функциям СокрЛ, СокрП, СокрЛП. Эти функции убирают пробелы слева, справа и с обеих сторон соответственно. Опробуем их в созданной команде:
Возьмем строку, в которой есть пробелы с обеих сторон
СтрокаБезПробелов = СокрП(СтрокаСПробелами);
Функция СокрЛП уберёт пробелы с обеих сторон:
СтрокаБезПробелов = СокрЛП(СтрокаСПробелами);
Если нам нужно убрать пробелы во всей строке, то тут следует применять функцию СтрЗаменить.
Функция имеет три параметра. В качестве первого параметра функции выступит сама строка, в которой следует заменить пробелы, второго параметра – символ, который нужно найти для замены, в нашем случае это сам пробел, а в качестве третьего параметр пустая строка.
СтрокаБезПробелов = СтрЗаменить(СтрокаСПробелами," ","");
Этот способ удобно использовать, когда нужно разные цифры превратить в одно число.
Но, бывают случаи, когда нужно отсечь лишние пробелы в строке. Например, мы имеем такую строку: « всё было хорошо пока не пошёл дождь ». Нужно убрать именно повторяющиеся пробелы, и оставить пробелы между словами.
В этом нам помогут методы СтрРазделить и СтрСоединить.
Метод СтрРазделить возвращает массив, который получится в результате разделения исходной строки по указанному символу. А метод СтрСоединить вернёт строку, которая будет получена из указанного массива со строками.
Метод СтрРазделить имеет следующий синтаксис:
Строка – строка, которую нужно разделить;
СимволРазделения – символ, по которому будет разделена строка;
ВключатьПустые – булево значение, если Истина, то будут включены пустые строки.
Метод СтрСоединить имеет следующий синтаксис:
МассивСтрок – массив, строки, которого нужно соединить;
СимволСоединения – символ, по которому они будут соединены.
В нашем случае алгоритм будет такой: мы разбиваем строку в массив, обходим массив и убираем все пробелы, соединяем массив обратно в строку.
&НаКлиенте Процедура УбратьПробелы(Команда) МассивСтрок = СтрРазделить(СтрокаСПробелами," ",Ложь); Для н = 0 по МассивСтрок.ВГраница() Цикл МассивСтрок[н] = СокрЛП(МассивСтрок[н]); КонецЦикла; СтрокаБезПробелов = СтрСоединить(МассивСтрок," "); КонецПроцедуры
Алгоритм будет давать следующий результат:
Убрать пробелы в числе 1С
Если какое-то число выводить в строку, то будут добавлены ненужные пробелы. Для демонстрации добавим на форму нашей обработки реквизит с типом число.
При выполнении команды запишем в реквизит СтрокаСПробелами это число.
СтрокаСПробелами = Строка(Число);
У нас получится следующая строка:
Это лидирующие пробелы (или группировка), и они иногда не нужны.
Убрать эти пробелы можно двумя способами.
В первом способе, мы используем уже знакомый на метод СтрЗаменить, только в качестве символа замены нужно использовать символ непрерывного пробела.
СтрокаБезПробелов = СтрЗаменить(Строка(Число),Символы.НПП,"");
Или, можно использовать метод Формат, где в качестве первого параметра указываем число, которое нужно форматировать, а в качестве второго параметра — форматную строку, в которой указываем, что отсутствует группировка.
У нас получится в результате такой код:
СтрокаБезПробелов = Формат(число,"ЧГ=0");
Подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Также, у меня имеются два комплекта книг, в которых присутствуют обе эти книги:
Комплект книг по разработке в 1С КОМБО-2
Только для читателей моего блога, промо-код на скидку в 300 рублей на оба комплекта: blog
Обсудить вопросы программирования в 1С (и не только) можно в моём тг-чате