Odin | База знаний 1С

Как удалить лишние ...
 

Как удалить лишние символы из строки в 1С, оставив только цифры и буквы?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

проверить строку на наличие только разрешенных символов(цифры, английский алфавит в двух регистрах) и удалить лишние



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Для проверки строки на наличие только разрешенных символов (цифры и английский алфавит в двух регистрах) и удаления лишних символов в 1С, можно использовать регулярные выражения. Вот пример функции, которая выполняет эту задачу:

1C
Функция УдалитьЛишниеСимволы(Строка)
    // Создаем объект регулярного выражения
    RegExp = Новый COMОбъект("VBScript.RegExp");
    RegExp.MultiLine = Ложь;
    RegExp.Global = Истина;
    // Устанавливаем паттерн для разрешенных символов (цифры и буквы a-z, A-Z)
    RegExp.Pattern = "[^0-9A-Za-z]";
    
    // Удаляем лишние символы
    Результат = RegExp.Replace(Строка, "");
    
    Возврат Результат;
КонецФункции

### Пример использования:

1C
Строка = "ABC-9.64,5=s";
Результат = УдалитьЛишниеСимволы(Строка);
Сообщить(Результат); // Вывод: ABC9645s

В этом коде мы создаем объект регулярного выражения, устанавливаем паттерн, который соответствует всем символам, кроме цифр и букв английского алфавита, и затем заменяем их на пустую строку.

Рекомендую посмотреть здесь: https://helpf.pro/faq/view/988.html



   
ОтветитьЦитата