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