powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Поиск текстовой строки в файле
7 сообщений из 7, страница 1 из 1
Поиск текстовой строки в файле
    #33129924
Андрей Il
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть файл. Необходимо выполнить поиск "абвг" в этом файле.

Как это сделать (на VB-Script, API или как-нибудь еще)?
...
Рейтинг: 0 / 0
Поиск текстовой строки в файле
    #33129930
arseny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub Command1_Click()
    Dim szBuffer As String
    
    
    
    Open "C:\Autoexec.bat" For Input As # 1 
        While Not EOF( 1 )
            Line Input # 1 , szBuffer
            MsgBox InStr(szBuffer, "abcd")
        Wend
    Close # 1 
End Sub

ЗЫ
Надо рубрику для новичков завести
...
Рейтинг: 0 / 0
Поиск текстовой строки в файле
    #33129945
Андрей Il
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в файле:
1-я строка: аб
2-я строка: вг
то "абвг" не находится таким образом.

Есть ли другой способ или надо перебирать по символу весь файл с учетом длины текстовой строки?
...
Рейтинг: 0 / 0
Поиск текстовой строки в файле
    #33130118
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вам по какой-то причине мешают символы перехода на новую строку, так уберите их из текста, например
str=Replace(str,vbCrLf,"")
...
Рейтинг: 0 / 0
Поиск текстовой строки в файле
    #33130523
arseny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub Command1_Click()
    Dim szBuffer As String
    Dim szTemp As String
    
    
    
    Open "C:\coreappschk.txt" For Input As # 1 
        While Not EOF( 1 )
            Line Input # 1 , szTemp
            
            szBuffer = szBuffer & szTemp
        Wend
    Close # 1 
    
    MsgBox szBuffer Like "ab*cd"
End Sub

Оператор Like поможет нам быстро определить, есть ли в строке шаблон. Но он не скажет, где именно. (можно также a*bcd, abc*d)
Чтение szBuffer = szBuffer & szTemp происходит без vbNewLine, так что не надо удалять переходы на новую строку.
...
Рейтинг: 0 / 0
Поиск текстовой строки в файле
    #33130880
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RegExp
...
Рейтинг: 0 / 0
Поиск текстовой строки в файле
    #33131029
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arseny
Чтение szBuffer = szBuffer & szTemp происходит без vbNewLine, так что не надо удалять переходы на новую строку.

Только стоит учитывать, что это будет очень медленно работать.
Мегабайтный тексовый файл обрабатывается 8 с, в то время как при использовании Replace потребовалось около одной десятой секунды.
Разница в скорости почти на 2 порядка
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Поиск текстовой строки в файле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]