Здравствуйте, гость ( Вход | Регистрация )

4 страниц V « < 2 3 4  
Ответить в эту темуОткрыть новую тему
> Декодер | замена текста.
FREEON
сообщение 31.10.2019, 9:33
Сообщение #61


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 1319
Пользователь №: 18.346
Возраст: 25



Цитата(Fors1k @ 31.10.2019, 8:04) *

Ну ты пришли свои файлы для теста, что хорошо бы было сразу сделать)

#i_1.txt меняем * на " и </tr> , <tr> на </tr> <tr>
#i_2.txt меняем * на " и </tr> , <tr> на </tr> <tr>
#i.html подставляем вместо <!-- 1 --> текст из #i_1.txt и вместо <!-- 2 --> текст из #i_2.txt
Прикрепленный файл  test.zip ( 351,99 килобайт ) Кол-во скачиваний: 273
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 31.10.2019, 11:37
Сообщение #62


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Код
--lua
local file = io.open([[C:\1_1.txt]], "r")          -- файл с текстом
local file2 = io.open([[C:\1.html]], "r")          -- файл с текстом
local result_file = io.open([[C:\1_1z.txt]], "w")  -- куда сохранить результат
local result_file2 = io.open([[C:\1z.html]], "w")  -- куда сохранить результат

if file and result_file and file2 and result_file2 then     -- если файлы открылись
        local s2, s = ""
        for v in file:lines() do    -- прочитать файл по строкам
            s=v:gsub("*", '"')  -- поиск и замена текста
            s=s:gsub("(</tr>)( , )(<tr>)", "%1 %3")  -- поиск и замена текста
            result_file:write(s .. "\n")
        end

        for v in file2:lines() do s2=s2 .. v end    -- прочитать файл по строкам
        result_file2:write(s2:gsub("<!%-%- 1 %-%->", s))   -- поиск и замена текста
        file:close()   file2:close()    result_file:close()   result_file2:close()  -- закрыть файлы
else
    log ("Файлы отсутствуют или недоступны для чтения/записи")
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 31.10.2019, 15:49
Сообщение #63


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2420
Пользователь №: 18.746



Цитата(FREEON @ 31.10.2019, 9:33) *

#i_1.txt меняем * на " и </tr> , <tr> на </tr> <tr>
#i_2.txt меняем * на " и </tr> , <tr> на </tr> <tr>
#i.html подставляем вместо <!-- 1 --> текст из #i_1.txt и вместо <!-- 2 --> текст из #i_2.txt
Прикрепленный файл  test.zip ( 351,99 килобайт ) Кол-во скачиваний: 273


Кидай в следующий раз сразу файлы для примера, так проще сразу понять что нужно.
Код
load_array %file3 c:/2/11.html                 //путь к целевому файлу
load_array %file c:/2/11_1.txt                 //путь к файлу 1
set #res indexOf(%file3 noabs ("<!-- 1 -->"))  //цель 1
gosub zamena
load_array %file c:/2/11_2.txt                 //путь к файлу 2
set #res indexOf(%file3 noabs ("<!-- 2 -->"))  //цель 2
gosub zamena
save_array %file3 c:/2/11_new.html             //путь для сохранения
end_script
:zamena                                        //замена текста
    set $file %file[1]
    set $file string_replace($file * " all)
    set $file string_replace($file "</tr> , <tr>" "</tr> <tr>" all)
    set %file3[#res] $file
return


Там в итоге же должны заполниться две таблицы?
Заработал?


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
FREEON
сообщение 1.11.2019, 1:26
Сообщение #64


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 1319
Пользователь №: 18.346
Возраст: 25



Цитата(Fors1k @ 31.10.2019, 15:49) *

Кидай в следующий раз сразу файлы для примера, так проще сразу понять что нужно.
Код
load_array %file3 c:/2/11.html                 //путь к целевому файлу
load_array %file c:/2/11_1.txt                 //путь к файлу 1
set #res indexOf(%file3 noabs ("<!-- 1 -->"))  //цель 1
gosub zamena
load_array %file c:/2/11_2.txt                 //путь к файлу 2
set #res indexOf(%file3 noabs ("<!-- 2 -->"))  //цель 2
gosub zamena
save_array %file3 c:/2/11_new.html             //путь для сохранения
end_script
:zamena                                        //замена текста
    set $file %file[1]
    set $file string_replace($file * " all)
    set $file string_replace($file "</tr> , <tr>" "</tr> <tr>" all)
    set %file3[#res] $file
return


Там в итоге же должны заполниться две таблицы? т
Заработал?

Все верно две или одна таблица. Извиняюсь чо долго заставил ждать только сейчас удалось добраться до ноута. Проверил все работает как часы и даже лучше чем ожидал...ты избавил меня от нудной рутинной работы. Благодарю, реальна красаучык!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
FREEON
сообщение 18.11.2021, 14:36
Сообщение #65


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 1319
Пользователь №: 18.346
Возраст: 25



Столкнулся с проблемой при работе скипта для транслитерации текста(записать русские буквы в латинском алфавите). При переименовании файла скрипт почемуто не хочет переименовывать файл если есть в имени пробел. Например: "Русский текст.txt" файл по неясной для меня причине не хочет переименовываться, хотя если работать со строками в тексте этой проблемы нет.
Код
--lua
log "clear" log "mode compact"
local path = [[D:\_NHL\End]]      -- путь к папке
local POISK, count = dir (path, "*.txt", "norecursion")  -- получить список всех файлов в формате 'txt', не включая файлы в подпапках
log ("Найдено файлов: " .. count)
if count then      -- если файлы найдены
    for i=1, #POISK do
        log ("Работаем с: " ..POISK[i][1])         -- показать в логе список
        local OldName = POISK[i][3]          -- Текст который хотим написать на латинском алфавите
        log ("Старое имя: " ..OldName)
        local t = {}
        t["А"]="A"     t["Б"]="B"   t["В"]="V"    t["Г"]="G"    t["Д"]="D"    t["Е"]="E"    t["Ё"]="E"
        t["Ж"]="ZH"    t["З"]="Z"   t["И"]="I"    t["Й"]="Y"    t["К"]="K"    t["Л"]="L"    t["М"]="M"
        t["Н"]="N"     t["О"]="O"   t["П"]="P"    t["Р"]="R"    t["С"]="S"    t["Т"]="T"    t["У"]="U"
        t["Ф"]="F"     t["Х"]="KH"  t["Ц"]="TS"   t["Ч"]="CH"   t["Ш"]="SH"   t["Щ"]="SHCH" t["Ь"]=""
        t["Ъ"]=""      t["Ы"]="Y"   t["Э"]="E"    t["Ю"]="YU"   t["Я"]="YA"
        t["а"]="a"     t["б"]="b"   t["в"]="v"    t["г"]="g"    t["д"]="d"    t["е"]="e"    t["ё"]="e"
        t["ж"]="zh"    t["з"]="z"   t["и"]="i"    t["й"]="y"    t["к"]="k"    t["л"]="l"    t["м"]="m"
        t["н"]="n"     t["о"]="o"   t["п"]="p"    t["р"]="r"    t["с"]="s"    t["е"]="t"    t["у"]="u"
        t["ф"]="f"     t["х"]="kh"  t["ц"]="ts"   t["ч"]="ch"   t["ш"]="sh"   t["щ"]="shch" t["ь"]=""
        t["ъ"]=""      t["ы"]="y"   t["э"]="e"    t["ю"]="yu"   t["я"]="ya"
        t[" "]="-" --пробел заменять на тире
        local NewName = string.gsub(OldName, "(.)", t)  -- поиск и замена текста из таблицы 't'
        log ("Транскрипции имени: " ..NewName)
        local NewPathAndName = POISK[i][2]..NewName..POISK[i][4]
        log ("вывести н. путь и имя: " ..NewPathAndName)
        filerename (POISK[i][1], NewPathAndName)  -- переименовать Иванов.txt в Ivanov.txt
        log ("---")
    end
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 18.11.2021, 14:53
Сообщение #66


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26540
Пользователь №: 16.971
Возраст: 29



Путь с пробелами должен быть в кавычках.
Код
--lua
log 'clear' log 'mode compact'
local OldName = "C:\\test.txt"
local NewName = "C:\\Русский текст.txt"

log ( NewName )
log ( string.format("%q", NewName) )

filerename (string.format("%q", OldName) , string.format("%q", NewName))


Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

4 страниц V « < 2 3 4
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 28.3.2024, 18:33
Designed by Nickostyle