База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как удалить лишние символы из строки в 1С, оставив только цифры и буквы? › RE: Как удалить лишние символы из строки в 1С, оставив только цифры и буквы?
3 марта 2025 в 20:30
#31776
Для проверки строки на наличие только разрешенных символов (цифры и английский алфавит в двух регистрах) и удаления лишних символов в 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