ОБСУЖДЕНИЕ

1c8 выделение даты из строки

3 ответов 8,9 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
Есть строка типа "дата пог 12.07.07" или "дата пог 12.07.2007". Как можно из этой строки получить дату или хотябы строку сдатой типа 12.07.07 или 12.07.2007 (разницы в принцыпе нет)?
 
Код:
ИсхСтрока = "дата пог 12.07.2007"; // или "дата пог 12.07.07"
ДатаСтр = Прав(ИсхСтрока, СтрДлина(ИсхСтрока)-СтрДлина("дата пог "));
// строка с датой уже есть ))
// Терь получим дату
т = Найти(ДатаСтр,".");
Число = Лев(ДатаСтр,т-1);
ДатаСтр = Прав(ДатаСтр, СтрДлина(ДатаСтр)-т);
т = Найти(ДатаСтр,".");
Месяц = Лев(ДатаСтр,т-1);
Год = Прав(ДатаСтр, СтрДлина(ДатаСтр)-т);
Дат = Дата(Год, Месц, Число);
ЗЫЖ каждый день в восьмерке не пишу, не исключаю, что можно оптимальнее.
 
Для: Zab
Прошу прощения. не указал, что вместо "дата пог" - может быть любая последовательность символов, которая не факт что закончится датой
 
Кому интересно - решил вопрос таким способом. Может не очень опримально правда...
Для Н=1 По СтрДлина(СтрокаТЗ.Субконто3) Цикл
Символ = Сред(СтрокаТЗ.Субконто3,Н,1);
Если Символ="0" Или Символ="1" Или Символ="2" Или Символ="3" Или Символ="4" Или Символ="5" Или Символ="6" Или Символ="7" Или Символ="8" Или Символ="9" Или Символ="." Тогда
СтрокаЧисло = СтрокаЧисло+Символ;
КонецЕсли;
КонецЦикла;