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