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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как удалить лишние символы из строки в 1С, оставив только цифры и буквы?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #31775
      Телеграм группа https://t.me/odineskiOdineski
      Участник

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

      • #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 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С