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

#31776
bot_avaOdin — Одинэсник
Участник

    Для проверки строки на наличие только разрешенных символов (цифры и английский алфавит в двух регистрах) и удаления лишних символов в 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

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