Функция из БСП:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Функция УдалитьЛидирующиеНулиИзНомераОбъекта(Знач НомерОбъекта) Экспорт ПользовательскийПрефикс = ПользовательскийПрефикс(НомерОбъекта); Если НомерСодержитСтандартныйПрефикс(НомерОбъекта) Тогда Если НомерСодержитПятизначныйПрефикс(НомерОбъекта) Тогда Префикс = Лев(НомерОбъекта, 5); Номер = Сред(НомерОбъекта, 6 + СтрДлина(ПользовательскийПрефикс)); Иначе Префикс = Лев(НомерОбъекта, 3); Номер = Сред(НомерОбъекта, 4 + СтрДлина(ПользовательскийПрефикс)); КонецЕсли; Иначе Префикс = ""; Номер = Сред(НомерОбъекта, 1 + СтрДлина(ПользовательскийПрефикс)); КонецЕсли; // Удаляем лидирующие нули слева в номере. Номер = СтроковыеФункцииКлиентСервер.УдалитьПовторяющиесяСимволы(Номер, "0"); Возврат Префикс + ПользовательскийПрефикс + Номер; КонецФункции |
И VBScript.RegExp:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Функция ПолучитьНомер(Строка) RegExp = Новый COMОбъект("VBScript.RegExp"); RegExp.MultiLine = Истина; RegExp.Global = Истина; RegExp.IgnoreCase = Истина; Шаблон = "№ 0*(\d+)"; RegExp.Pattern = Шаблон; Matches=RegExp.Execute(Строка); Возврат Matches; КонецФункции |
Истичник: https://fastcode.im/