Показать полную графическую версию : [решено] Автоматический поиск и замена текста в файле
Есть файл где большой список слов на русском языке.
~14 000 строк.
Где слова могут повторяться.
Необходимо каждое слово или несколько слов заменять на свое число.
Есть второй файл где содержится список: строки вида- число слово -на пример( 14 День Трудящихся)
Необходимо в первом файле находить слова, и заменять их на соответствующие им число.
Прощу вашей помощи.
Patroklos
28-07-2019, 16:46
Мне кажется что шансы что тебе помогут сильно возрастут если ты загрузишь на форум эти два файла.
ЗЫ: не забудь заархивировать.
Прикрепил архив.
Файл по меньше сделал по кол-ву строк.
Кстати, а как насчёт больших/маленьких букв? »
А что с ними?
Если нужно могу привести их к нижнему регистру.
Patroklos
28-07-2019, 18:19
Попытка номер 2
megaloman
28-07-2019, 18:48
Patroklos, Спасибо. Открыл во второй попытке ...
Patroklos
28-07-2019, 19:04
Был рад помочь.
megaloman
28-07-2019, 21:40
FileTxt = "Z:\Box_Arc\txt_file\1.txt"
FileNum = "Z:\Box_Arc\txt_file\2.txt"
FileOut = "Z:\Box_Arc\txt_file\1.rep.txt"
Delim=Chr(9)
With CreateObject("Scripting.FileSystemObject")
With .OpenTextFile(FileTxt, 1, False)
InTxt = .ReadAll
.Close
End With
With .OpenTextFile(FileNum, 1, False)
MasNum = Split(.ReadAll, vbCrLf)
.Close
End With
For Each Fin In MasNum
If Len(Fin) <> 0 Then
i = InStr(1, Fin, Delim)
If i <> 0 Then
Rep = Mid(Fin, 1, i - 1)
Fin = Mid(Fin, i + 1)
InTxt = Replace(InTxt, Fin, Rep)
End If
End If
Next
With .OpenTextFile(FileOut, 2, True)
.Write InTxt
.Close
End With
End With
MsgBox "Script done"FileOut может совпадать с FileTxt
Задачу делал для предложенных образцов файлов
megaloman, благодарю работает.
Попробовал на другом файле замена прошла хорошо, только одну строчку скрипт не заменил.
Но это не принципиально поправил руками.
megaloman
29-07-2019, 17:55
Touch_, только одну строчку скрипт не заменил. Если это не разовая задача, надо бы разобраться, почему не заменил. Имхо, несоотаетствие текста справочнику, например, большие/маленькие буквы, или пробел лишний, или еще что-нибудь.
megaloman, Вот прикрепил файлы с работой скрипта.
Не понравилась ему строчка: Международный женский день (8 Марта)
megaloman
29-07-2019, 20:07
Международный женский день (8 Марта)
Международный женский день (8 - Марта)
Первая строка - 1.txt
Вторая -2.txt
Несоответствие, как я и предполагал.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.