Убрать 0 в строке если он есть и стоит первым

1. sajmon45 12.10.21 15:58 Сейчас в теме
Как убрать 0 в строке если он есть и стоит первым?
По теме из базы знаний
Ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. puzo50 12.10.21 16:04 Сейчас в теме
если лев(строка, 1) = "0" тогда строка = прав(строка, стрдлина(строка)-сколькото) конецесли
3. provadyuga 99 12.10.21 16:04 Сейчас в теме
 Пока Лев(ВашаСтрока, 1) = "0" Цикл 
    ВашаСтрока = Прав(ВашаСтрока, СтрДлина(ВашаСтрока) - 1);
КонецЦикла;
6. antz 12.10.21 16:40 Сейчас в теме
(3) красивше это:

ВашаСтрока = Сред(ВашаСтрока, 2);
4. Оберон 16 12.10.21 16:06 Сейчас в теме
в БП 3.0 есть такой функционал
Пример:
ПрефиксацияОбъектовКлиентСервер.НомерНаПечать(ДокументОбъект.НомерПервичногоДокумента, Истина, Ложь);


Функция УдалитьЛидирующиеНулиИзНомераОбъекта(Знач НомерОбъекта) Экспорт
	
	ПользовательскийПрефикс = ПользовательскийПрефикс(НомерОбъекта);
	
	Если НомерСодержитСтандартныйПрефикс(НомерОбъекта) Тогда
		
		Если НомерСодержитПятизначныйПрефикс(НомерОбъекта) Тогда
			Префикс = Лев(НомерОбъекта, 5);
			Номер = Сред(НомерОбъекта, 6 + СтрДлина(ПользовательскийПрефикс));
		Иначе
			Префикс = Лев(НомерОбъекта, 3);
			Номер = Сред(НомерОбъекта, 4 + СтрДлина(ПользовательскийПрефикс));
		КонецЕсли;
		
	Иначе
		
		Префикс = "";
		Номер = Сред(НомерОбъекта, 1 + СтрДлина(ПользовательскийПрефикс));
		
	КонецЕсли;
	
	// Удаляем лидирующие нули слева в номере.
	Номер = СтроковыеФункцииКлиентСервер.УдалитьПовторяющиесяСимволы(Номер, "0");
	
	Возврат Префикс + ПользовательскийПрефикс + Номер;
КонецФункции
Показать
5. Matveev_VS 160 12.10.21 16:13 Сейчас в теме
Если Лев(<Строка>, 1) = 0 Тогда
    СтрДлина(<Cтрока>)
    Лев(<Cтрока>,СтрДлина(<Cтрока>) - 1)
КонецЕсли
7. pm74 199 12.10.21 20:56 Сейчас в теме
Пока СтрНачинаетсяС(Строка, "0") Цикл
Строка = Сред(Строка,2);
КонецЦикла;
PlatonStepan; AnryMc; +2 Ответить
9. AnryMc 849 13.10.21 15:40 Сейчас в теме
(7) Да, век живи - век учись...

Не знал.
10. pm74 199 13.10.21 22:00 Сейчас в теме
(9) синтаксический сахар , просто выглядит более читабельно
при "при наличии отсутствия" регулярок и бедности строковых функций , приходится так извращаться
на питоне например str.lstrip('0') и все
..
но иногда бывают прямо -таки шикарные вещи , взять хотя бы куайн в исполнении ildarovich
С="С="";Л=Лев(С,3);П=Сред(С,3);Сообщить(Л+Л+П+П)";Л=Лев(С,3);П=Сред(С,3);Сообщить(Л+Л+П+П)

или это
8. -AI- 12.10.21 21:30 Сейчас в теме
удаляет все лидирующие символы, в т.ч. префикс
Номер = Сред(Номер,СтрДлина(СтрРазделить(Номер,"123456789")[0])+1);
PlatonStepan; rintik; AnryMc; +3 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот