Удаление повторяющихся символов в начале или конце текста

FastCode 346 2 8 19

Функции СокрЛ, СокрП, СокрЛП удаляют любое количество пробелов в начале или конце строки. Этим можно воспользоваться, чтобы удалить другие начальные или конечные повторяющиеся символы, заменив их на пробел, а затем выполнив обратную замену.

Автор: ildarovich

//Например, чтобы удалить любое количество точек в конце строки, можно воспользоваться выражением:
СтрЗаменить(СокрП(СтрЗаменить(ИсходнаяСтрока, ".", " ")), " ", ".")

//Правда, если исходная строка изначально содержит пробелы, то результат будет неправильным. В этом случае предварительно требуется заменить пробелы каким-либо редким сочетанием символов, а после преобразования выполнить обратную замену.

СтрЗаменить(СтрЗаменить(СокрП(СтрЗаменить(СтрЗаменить(ИсходнаяСтрока, " ", Символы.НПП), ".", " ")), " ", "."), Символы.НПП, " ")
FastCode - сервис для программистов 1С

Комментарии

bolsun
#1, ред. 22 января 2021 11:41

В группах возник вопрос, зачем нужна обратная замена.
Ответ:
Для того, чтобы вернуть обратно на место символы, которые мы заменили на пробелы внутри строки.

Например, если мы хотим удалить символы * в конце строки, но внутри строки тоже есть эти символы:
Исходная строка "ааа*ааа***"
заменяем * на пробелы "ааа ааа "
СокрП() "ааа ааа"
заменяем обратно пробелы на *
Получаем "ааа*ааа"


Похожие публикации

УдалитьПовторяющиесяСимволы (БСП)

СформироватьСтрокуСимволов (БСП)

УдалитьПоследниеСимволыИзСтроки (БСП)

ВсеКонтактыПоНачалуНаименования (БСП)

ВсеКонтактыПоНачалуНаименованияСАдресамиЭлектроннойПочты (БСП)

Модератору