Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как заменять подстроку строки в текстовом файле? / 9 сообщений из 9, страница 1 из 1
18.08.2005, 14:20:26
    #33223152
DrugDiller
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заменять подстроку строки в текстовом файле?
Задача такая:
Имеем 2 файла:
1.txt

1;001;1
2;002;2
3;003;3

2.txt

001
002
003
Надо брать 1 строку из 2.txt и смотреть есть ли такая подстрока в 1.txt, если есть, то совершать определенное арифметическое действие над 3 поддстрокой строки файла 1.txt. Далее брать вторую строку 2.txt и искать ее в 1.txt, если найдена, то опять же арифметическое действие над 3 подстрокой строки 1.txt итд.

Помогите плз.
Заранее большое спасибо
...
Рейтинг: 0 / 0
18.08.2005, 15:36:38
    #33223391
Как заменять подстроку строки в текстовом файле?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
    Dim strLine1 As String
    Dim strLine2 As String
    Dim strText As String
    Dim intI As Integer
    
    Open "d:\temp\1.txt" For Input As # 1 
    Open "d:\temp\output.txt" For Output As # 3 
    
    Do While Not EOF( 1 )
        Line Input # 1 , strLine1
        Open "d:\temp\2.txt" For Input As # 2 
        
        Do While Not EOF( 2 )
            Line Input # 2 , strLine2
            intI = InStr(strLine1, strLine2)
            If intI >  0  Then
                Print # 3 , strLine1 & " | " & CInt(Mid(strLine1, intI +  4 )) *  10 
            End If
        Loop

        Close # 2 
    Loop
    
    Close # 1 
    Close # 3 

В выходном файле будет

Код: plaintext
1.
2.
 1 ; 001 ; 1  |  10 
 2 ; 002 ; 2  |  20 
 3 ; 003 ; 3  |  30 
...
Рейтинг: 0 / 0
19.08.2005, 07:21:27
    #33224291
DrugDiller
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заменять подстроку строки в текстовом файле?
Дело в том, что хотелось бы именно заменять подстроку, т.е. как результат должно быть:
1;001;10
2;002;20
3;003;30
...
Рейтинг: 0 / 0
19.08.2005, 07:22:58
    #33224293
DrugDiller
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заменять подстроку строки в текстовом файле?
Дело в том, что хотелось бы именно заменять подстроку, т.е. как результат должно быть:
1;001;10
2;002;20
3;003;30
...
Рейтинг: 0 / 0
19.08.2005, 10:24:56
    #33224554
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заменять подстроку строки в текстовом файле?
DrugDillerДело в том, что хотелось бы именно заменять подстроку, т.е. как результат должно быть:
1;001;10
2;002;20
3;003;30


Замените этот кусок кода, на то что вым нужно.

Код: plaintext
1.
2.
If intI >  0  Then
  Print # 3 , strLine1 & " | " & CInt(Mid(strLine1, intI +  4 )) *  10 
End If
...
Рейтинг: 0 / 0
23.08.2005, 14:12:02
    #33230026
DrugDiller
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заменять подстроку строки в текстовом файле?
А как при этом ненайденные строки выводить тоже, но в нетронутом виде?
...
Рейтинг: 0 / 0
23.08.2005, 14:17:26
    #33230048
DrugDiller
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заменять подстроку строки в текстовом файле?
Имеется в виду, что например в файле 2.txt присутствуют только строки
001
002

При этом должно получиться
1;001;1 | 10
2;002;2 | 20
3;003;3 | 3
...
Рейтинг: 0 / 0
26.08.2005, 15:00:51
    #33236374
DrugDiller
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как заменять подстроку строки в текстовом файле?
Никак что ли?
...
Рейтинг: 0 / 0
26.08.2005, 15:57:31
    #33236572
Как заменять подстроку строки в текстовом файле?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
    Dim strLine1 As String
    Dim strLine2 As String
    Dim strText As String
    Dim intI As Integer
    Dim bln As Boolean
    
    Open "d:\1\1.txt" For Input As # 1 
    Open "d:\1\output.txt" For Output As # 3 
    
    Do While Not EOF( 1 )
        bln = False
        Line Input # 1 , strLine1
        Open "d:\1\2.txt" For Input As # 2 
        
        Do While Not EOF( 2 )
            Line Input # 2 , strLine2
            intI = InStr(strLine1, strLine2)
            If intI >  0  Then
                Print # 3 , strLine1 & " | " & CInt(Mid(strLine1, intI +  4 )) *  10 
                bln = True
            End If
        Loop
        If Not bln Then
            Print # 3 , strLine1 & " | " & Mid(strLine1, InStrRev(strLine1, ";") +  1 )
        End If
        Close # 2 
    Loop
    
    Close # 1 
    Close # 3 
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как заменять подстроку строки в текстовом файле? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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