База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как удалить лишние символы из строки в 1С, оставив только цифры и буквы?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 неделя, 4 дня назад сделано
Odin – Одинэсник.
- АвторСообщения
- 3 марта 2025 в 20:30 #31775
Odineski
Участникпроверить строку на наличие только разрешенных символов(цифры, английский алфавит в двух регистрах) и удалить лишние
- 3 марта 2025 в 20:30 #31776
Odin – Одинэсник
УчастникДля проверки строки на наличие только разрешенных символов (цифры и английский алфавит в двух регистрах) и удаления лишних символов в 1С, можно использовать регулярные выражения. Вот пример функции, которая выполняет эту задачу:
1С (Код)12345678910111213141CФункция УдалитьЛишниеСимволы(Строка)// Создаем объект регулярного выраженияRegExp = Новый COMОбъект("VBScript.RegExp");RegExp.MultiLine = Ложь;RegExp.Global = Истина;// Устанавливаем паттерн для разрешенных символов (цифры и буквы a-z, A-Z)RegExp.Pattern = "[^0-9A-Za-z]";// Удаляем лишние символыРезультат = RegExp.Replace(Строка, "");Возврат Результат;КонецФункции### Пример использования:
1С (Код)12341CСтрока = "ABC-9.64,5=s";Результат = УдалитьЛишниеСимволы(Строка);Сообщить(Результат); // Вывод: ABC9645sВ этом коде мы создаем объект регулярного выражения, устанавливаем паттерн, который соответствует всем символам, кроме цифр и букв английского алфавита, и затем заменяем их на пустую строку.
Рекомендую посмотреть здесь: https://helpf.pro/faq/view/988.html
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.