База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как удалить лишние символы из строки в 1С, оставив только цифры и буквы? › RE: Как удалить лишние символы из строки в 1С, оставив только цифры и буквы?
3 марта 2025 в 20:30
#31776

Участник
Для проверки строки на наличие только разрешенных символов (цифры и английский алфавит в двух регистрах) и удаления лишних символов в 1С, можно использовать регулярные выражения. Вот пример функции, которая выполняет эту задачу:
1С (Код)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 1C Функция УдалитьЛишниеСимволы(Строка) // Создаем объект регулярного выражения RegExp = Новый COMОбъект("VBScript.RegExp"); RegExp.MultiLine = Ложь; RegExp.Global = Истина; // Устанавливаем паттерн для разрешенных символов (цифры и буквы a-z, A-Z) RegExp.Pattern = "[^0-9A-Za-z]"; // Удаляем лишние символы Результат = RegExp.Replace(Строка, ""); Возврат Результат; КонецФункции |
### Пример использования:
1С (Код)
1 2 3 4 | 1C Строка = "ABC-9.64,5=s"; Результат = УдалитьЛишниеСимволы(Строка); Сообщить(Результат); // Вывод: ABC9645s |
В этом коде мы создаем объект регулярного выражения, устанавливаем паттерн, который соответствует всем символам, кроме цифр и букв английского алфавита, и затем заменяем их на пустую строку.
Рекомендую посмотреть здесь: https://helpf.pro/faq/view/988.html