-

Убрать пробелы в строках 1С

0
9240
26.11.2020 Ольга Волкова

Содержание:

 

Необходимость убрать лишние пробелы в строке возникает нередко, и в 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" преобразует значения типа Число и Дата к строке в соответствии с национальными установками. В меню «Администрирование → Региональные установки информационной базы» можно изменить и отдельные параметры форматирования дат и чисел, а также представление значений типа Булево. Например, можно в конкретной информационной базе отключить разделение триад числовых значений. Тогда при представлении числа в виде строки система не будет добавлять лишний пробел, а нам не нужно будет его, в последствии, удалять.

 

Вариант, когда нужно из многострочия получить одну строку, то есть убрать лишние пробелы ПС. Сделать это можно, используя функцию СтрПолучитьСтроку(<Строка>, <НомерСтроки>).

 

Смоделируем ситуацию для примера. Наша задача – убрать убрать лишние пробелы в строке и символы перевода строки.

 

Код будет выглядеть следующим образом:

 

Код убирающий лишние пробелы в строке

Код, убирающий лишние пробелы в строке


В итоге получим удаление лишних пробелов:


Преобразование строки путем удаления лишних пробелов

Преобразование строки путем удаления лишних пробелов


Специалист компании «Кодерлайн»

Ольга Волкова

 

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Теги
#1С: CRM #1С: ERP #1С: ERP Управление строительной организацией #1С: ERP. Управление буровой компанией #1С: WMS Управление складом #1С: Аренда и управление недвижимостью #1С: БУХ #1С: Договорчики #1С: Документооборот #1С: ЗУП #1С: Интеграция #1С: КА #1С: Колледж #1С: Конвертация данных #1С: Модули #1С: Платформа #1С: Розница #1С: Сценарное тестирование #1С: ТОИР #1С: УАТ #1С: УКФ #1С: Университет #1С: УНФ #1С: УПП #1С: Управление строительной организацией #1С: УТ #1С: УХ #1С:ERP #1С:БГУ #1С:БП #1С.6-НДФЛ #ADO #APACHE #API #canonical #com-объекты #Excel #Excel в 1С #GoogleDrive #HTTP #ITIL #Koderline: Управление медиа-холдингом #Koderline: Управление проектами строительства скважин #LINUX #MS SQL Server #WEB #WEB-сервисы 1С #Word #XML #Администрирование 1С #акты в 1С #Безопасность сервера #Бесшовная интеграция #БИТ.Финанc #Битрикс24 #Блокировки в 1С #БСП #БУ #Бурение скважин #Бюджетирование #Внедрение #Внедрение ERP #Закрытие месяца #Запросы 1С #Интеграция 1С #КАК ОТРАЖАЮТСЯ ТОВАРЫ В ПУТИ 1С #Как сделать в 1С #Конвертация данных #Корпоративное сопровождение #Лизинг #Лицензии 1С #Механизм Анализа Данных в 1С #Моделирование #Модуль Диадок #МСФО #Налоги #Обмен между базами #Обновления #Оптимизация #Отпуск #Отчетность #Отчеты в 1С #Оценка задач #Перенос данных #Планирование #Полезные обработки #Правила обмена #предопределенные элементы справочников #Проводки 1С #Программирование в 1С #Программные права #Продажи #Производство #Работа с объектами в 1С #Расширение конфигурации #РСБУ #С # #СКД #Соединение COM в 1С платформе #Сравнение конфигураций #Тестирование 1С #Техническое задание #Торговое оборудование #Транспортная логистика #Управление проектами #Финансовый учет #Хранилище настроек #Ценообразование #Экзамен 1С #Яндекс.Касса Email или телефон Работа с объектами в 1С Функциональные опции в 1С
Услуги программиста 1С
Получите специалиста  
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.