Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - массив из строк, поиск по строке

Ответить
Настройки темы
VBS/WSH/JS - массив из строк, поиск по строке

Новый участник


Сообщения: 11
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день.
Пытаюсь решить задачу по парсингу лог-файла с конца самого файла. Получилось поделить лог на строки и строки положить в одномерный массив. Вот только как произвести поиск по строке, которая лежит внутри ячейки одномерного массива?

На примере:

вот такой вариант работает (ищет точку входа в строку):
Код: Выделить весь код
z = "    2017-06-07 23:01 Пользователь  sadfasdasd qwddsda dqwd sad qwdsad asd"
y = InStr(1, z, "Пользователь")
а вот такой нет (всегда 0):

Код: Выделить весь код
z = my_arr(10) ' в данной ячейке лежит строка "    2017-06-07 23:01 Пользователь  sadfasdasd qwddsda dqwd sad qwdsad asd"
y = InStr(1, z, "Пользователь")

Отправлено: 16:55, 08-06-2017

 

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


matson, Не понимаю, что Вы хотите в конце концов получить, но вот вариант (тестировал на файле, созданном на основе приведенного Вами текста):
Код: Выделить весь код
File_In = "Z:\Box_In\Логфайл.log"
Find_String = "** Задание ""BackGTD"" завершено."

Set FSO = CreateObject("Scripting.FileSystemObject")

Set NFile = FSO.OpenTextFile(File_In, 1, False)                     '  Открываем текстовый файл
S = NFile.ReadAll
NFile.Close

MsgBox Last_String(S, Find_String)

Function Last_String(All_S, Find_S)
    i_Find_S = InStrRev(All_S, Find_S)
    If i_Find_S > 0 Then
        NFind_1 = InStrRev(All_S, vbCrLf, i_Find_S)
        NFind_2 = InStr(i_Find_S, All_S, vbCrLf)
        Last_String = LTrim(RTrim(Replace(Mid(All_S, NFind_1, NFind_2 - NFind_1 + 1), vbCrLf, "")))
    Else
        Last_String = ""
    End If
End Function
Не вижу смысла получать массив.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 09-06-2017 в 20:03.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:55, 09-06-2017 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата matson:
нет никакого смысла использовать бд для такой простой задачи, не люблю плодить сущности. »
Пока лог в сотни килобайт — да, возможно. Когда в сотни мегабайт — тогда стоит работать с ним либо как с базой данных, либо задействовать LogParser.

Отправлено: 21:35, 09-06-2017 | #12



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - массив из строк, поиск по строке

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Поиск слова в строке из реестра Сиволапый Скриптовые языки администрирования Windows 22 31-03-2017 07:27
PowerShell - Поиск в AD по строке из внешнего файла. Gluteus Maximus Скриптовые языки администрирования Windows 1 03-09-2015 10:08
CMD/BAT - Поиск и удаление строк в файле по сложным условиям i7allia Скриптовые языки администрирования Windows 2 30-10-2013 17:06
CMD/BAT - поиск строк по шаблону и запись в отдельный файл AVTS Скриптовые языки администрирования Windows 4 13-07-2012 00:51
CMD/BAT - Поиск и копирование нескольких строк из текстового файла. valen Скриптовые языки администрирования Windows 0 07-11-2011 17:27




 
Переход