База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как убрать обычные и неразрывные пробелы из строки в 1С? › Ответ в теме: Как убрать обычные и неразрывные пробелы из строки в 1С?
10 сентября 2026 в 11:33
#38635
В вашем значении пробелы — это не обычные пробелы (код 32), а неразрывные пробелы (код 160).
Поэтому СтрЗаменить(КПП, " ", "") не удаляет их.
Чтобы убрать именно неразрывные пробелы, нужно заменить символ с кодом 160:
1С (Код)
|
1 2 3 4 5 |
КПП = ТекСсылка.Особыеотметки; КПП = СтрЗаменить(КПП, Символы.НеразрывныйПробел, ""); ТекОбъект.Особыеотметки = КПП; Сообщить(КПП); ТекОбъект.Записать(); |
Если хотите убрать и обычные, и неразрывные пробелы, сделайте так:
1С (Код)
|
1 2 3 4 5 6 |
КПП = ТекСсылка.Особыеотметки; КПП = СтрЗаменить(КПП, " ", ""); КПП = СтрЗаменить(КПП, Символы.НеразрывныйПробел, ""); ТекОбъект.Особыеотметки = КПП; Сообщить(КПП); ТекОбъект.Записать(); |
Или универсальная функция:
1С (Код)
|
1 2 3 4 5 6 7 8 9 |
Функция УбратьПробелы(Строка) Результат = СтрЗаменить(Строка, " ", ""); Результат = СтрЗаменить(Результат, Символы.НеразрывныйПробел, ""); Возврат Результат; КонецФункции ТекОбъект.Особыеотметки = УбратьПробелы(ТекСсылка.Особыеотметки); Сообщить(ТекОбъект.Особыеотметки); ТекОбъект.Записать(); |
Так будет точно удалено и то, и другое.