|
Поиск даты в строке 8,2 | ☑ | ||
---|---|---|---|---|
0
KonstantinK90
26.02.15
✎
07:23
|
Здраствуйте помогите с проблемой. необходимо найти дату в строке как это сделать чет на форумах почитал и ни чего не понял вот мой код в НаборЗаписей = РегистрыСведений.уатПервоначальныеСведенияТС.СоздатьНаборЗаписей();
Если ЗначениеЗаполнено(Строка.Колонка1) = Истина Тогда НаборЗаписей.Отбор.ГосударственныйНомер_.Установить(Строка.Колонка1); НаборЗаписей.Прочитать(); Для Каждого Запись Из НаборЗаписей Цикл // Чтение и сообщение данных полей записи. Сообщить(Строка(Запись.ГосударственныйНомер_)); // Запись.ГосударственныйНомер = СтрЗаменить(Запись.ГосударственныйНомер," ",""); //УбратьПробел // оригинал // Запись.VIN_ = Запись.VIN; Запись.ИсправленОбработкой = Истина; Запись.VIN = НоваяСтрока.VINНомер; Запись.ГосударственныйНомер = Строка.Колонка1; Запись.Модель = Строка.Колонка2; Запись.НомерДвигателя = Строка.Колонка3; Запись.ГодВыпуска = Строка.Колонка5; Запись.МощностьДвигателяЛС = Строка.Колонка7; Запись.НомерШасси = Строка.Колонка9; Запись.НомерКузова = Строка.Колонка10; //Если не нашли цветкузова то тогда создаем его Элемент = Справочники.уатЦвета.НайтиПоНаименованию(Строка.Колонка11); Если Элемент.Пустая() = ложь тогда Элемент = Справочники.уатЦвета.СоздатьЭлемент(); Элемент.Наименование = Строка.Колонка11; Запись.ЦветКузова = Справочники.уатЦвета.НайтиПоНаименованию(Строка.Колонка11); НаборЗаписей.Записать(); Иначе КонецЕсли; Запись.НомерСерииЛицензионнойКарточки = Строка.Колонка12; //Ищем дату в строке НоваяСтрока.ОсобыеОтметки = Строка.Колонка15 // КонецЦикла; НаборЗаписей.Записать(); Иначе КонецЕсли; |
|||
1
KonstantinK90
26.02.15
✎
07:24
|
это я эксель подгружаю и в нем есть строки вот пример одной"ВРЕМ. РЕГИСТРАЦИЯ ПО 31.01.2016Г. ПО ДОГОВОРУ ФИНАНСОВОЙ АРЕНДЫ №23163-ФЛ/БР-12"
|
|||
2
KonstantinK90
26.02.15
✎
07:25
|
колонка в экселе называеться особые отметки
|
|||
3
Адский плющ
26.02.15
✎
07:31
|
Бьешь строку на части и запускаешь автомат.
|
|||
4
Andrewww123
26.02.15
✎
07:32
|
(0) Насколько я знаю, нормальных методов нет. Можно заменить пробелы на символы переноса строк и анализировать каждую строку, там уже несложно.
|
|||
5
KonstantinK90
26.02.15
✎
07:33
|
пример можете показать
|
|||
6
ShoGUN
26.02.15
✎
07:35
|
Наброшу: регулярными выражениями :)
|
|||
7
ShoGUN
26.02.15
✎
07:36
|
||||
8
ShoGUN
26.02.15
✎
07:44
|
Для твоей даты будет выглядеть так(учитывая, что вместо 01 могут написать "1", а вместо "2016" - "16"):
\d{1,2}\.\d{1,2}\.\d{2,4} |
|||
9
KonstantinK90
26.02.15
✎
07:50
|
я чет не пойму как это сделать
|
|||
10
ShoGUN
26.02.15
✎
07:52
|
(9) В (7) Пример кода, что именно непонятно?
|
|||
11
KonstantinK90
26.02.15
✎
07:54
|
да если можно пример кода я не знаю с чего даже начать
|
|||
12
ShoGUN
26.02.15
✎
07:55
|
(11) Ссылки нажимать умеешь?
|
|||
13
Cube
26.02.15
✎
07:55
|
(12) Да не умеет, походу =))
|
|||
14
KonstantinK90
26.02.15
✎
07:56
|
умею нажимал там не понятно ни чего
|
|||
15
ShoGUN
26.02.15
✎
07:57
|
(14) Сочувствую, что ещё сказать.
|
|||
16
Andrewww123
26.02.15
✎
07:58
|
Вот именно поэтому нужно разбить строку и анализировать :) Явно проще будет
|
|||
17
KonstantinK90
26.02.15
✎
08:00
|
а как разбить строку
|
|||
18
ShoGUN
26.02.15
✎
08:01
|
(16) Кода с регулярками меньше минимум в 2 раза и универсальней - некуда. Ну да дело ваше.
|
|||
19
Адский плющ
26.02.15
✎
08:02
|
(16) Не взлетит. Если на (7) мозгов не хватило, то на самостоятельный анализатор и подавно.
|
|||
20
ShoGUN
26.02.15
✎
08:02
|
(17) Давай я дам тебе функцию для этого, но делать дальше ты будешь сам?
|
|||
21
Andrewww123
26.02.15
✎
08:03
|
(18) Видно было что у человека уровень самый начальный.
(17) Строка_ = СтрЗаменить(Строка, " ", Символы.ПС); |
|||
22
Andrewww123
26.02.15
✎
08:04
|
(19) Ну может и так, поглядим..
|
|||
23
ShoGUN
26.02.15
✎
08:04
|
(21) Из типовой
// Функция "расщепляет" строку на подстроки, используя заданный // разделитель. Разделитель может иметь любую длину. // Если в качестве разделителя задан пробел, рядом стоящие пробелы // считаются одним разделителем, а ведущие и хвостовые пробелы параметра Стр // игнорируются. // Например, // РазложитьСтрокуВМассивПодстрок(",ку,,,му", ",") возвратит массив значений из пяти элементов, // три из которых - пустые строки, а // РазложитьСтрокуВМассивПодстрок(" ку му", " ") возвратит массив значений из двух элементов // // Параметры: // Стр - строка, которую необходимо разложить на подстроки. // Параметр передается по значению. // Разделитель - строка-разделитель, по умолчанию - запятая. // // // Возвращаемое значение: // массив значений, элементы которого - подстроки // Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт МассивСтрок = Новый Массив(); Если Разделитель = " " Тогда Стр = СокрЛП(Стр); Пока 1=1 Цикл Поз = Найти(Стр,Разделитель); Если Поз=0 Тогда МассивСтрок.Добавить(Стр); Возврат МассивСтрок; КонецЕсли; МассивСтрок.Добавить(Лев(Стр,Поз-1)); Стр = СокрЛ(Сред(Стр,Поз)); КонецЦикла; Иначе ДлинаРазделителя = СтрДлина(Разделитель); Пока 1=1 Цикл Поз = Найти(Стр,Разделитель); Если Поз=0 Тогда МассивСтрок.Добавить(Стр); Возврат МассивСтрок; КонецЕсли; МассивСтрок.Добавить(Лев(Стр,Поз-1)); Стр = Сред(Стр,Поз+ДлинаРазделителя); КонецЦикла; КонецЕсли; КонецФункции // глРазложить |
|||
24
ShoGUN
26.02.15
✎
08:05
|
Оу. Изивините.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |