|
|
|
Найти текст в документе и показать всю строку, Найти текст в документе и показать всю строку |
|
|
dron4938 |
2.6.2018, 21:58
|
Apprentice
Сообщений: 256
Регистрация: 20.3.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.395
|
Цитата(DarkMaster @ 1.6.2018, 22:54) Код --lua log"clear" local first = io.open([[d:\1.txt]], "r") local result_file = io.open([[d:\result.txt]], "wb")
first_part={}
for v in first:lines() do result_file:write(string.gsub(v, "(%< *%/ *)([a-zA-Zа-яА-Я])( *%>)", "%1I%3").."\r\n") end
first:close() result_file:close() не работает вот пример: Код [AccountInfo] $*FixedChargeAdvInfo-green-local_name=<font size='20'><i>Game</ i> Прем</font> $*FixedChargeAdvInfo-blue-local_name=<font size='20'><i>Game</я> Прем</font> $*FixedChargeAdvInfo-purple-local_name=<font size='20'><i>Game< /i> Прем</font> должно стать так: Код [AccountInfo] $*FixedChargeAdvInfo-green-local_name=<font size='20'><i>Game</i> Прем</font> $*FixedChargeAdvInfo-blue-local_name=<font size='20'><i>Game</i> Прем</font> $*FixedChargeAdvInfo-purple-local_name=<font size='20'><i>Game</i> Прем</font> тобеж нужна функция как в нотепаде замена текста, там это отлично работает. т.е. там можно сделать единичную замену текста например </я> заменить </i> во всем документе. а нужно чтобы все заданные значения </я> </ i> < /i> </I> заменялись на </i> во всем документе
|
|
|
|
dron4938 |
2.6.2018, 22:30
|
Apprentice
Сообщений: 256
Регистрация: 20.3.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.395
|
Цитата(cirus @ 2.6.2018, 22:18) Всё работает.
(IMG: http://i.yapx.ru/Bdn06.jpg) пример проще: Код тумба стол стул ящик чемодан рыба азбука как в этом тексте заменить слово чемодан на люстра
|
|
|
|
cirus |
3.6.2018, 0:13
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26576
Пользователь №: 16.971
Возраст: 29
|
Цитата почему в этом тексте не меняет? Для начала неплохо бы это прочитать: Цитата . -- Любой символ %a -- Буква (только англ.!) %A -- Любая буква (русская), символ, или цифра, кроме английской буквы %c -- Управляющий символ %d -- Цифра %D -- Любая буква, или символ, кроме цифры %l -- Буква в нижней раскладке (только англ.!) %L -- Любая буква, символ, или цифра, кроме английской буквы в нижней раскладке %p -- Символ пунктуации %P -- Любая буква, символ, или цифра, кроме символа пунктуации %s -- Символ пробел %S -- Любая буква, символ, или цифра, кроме символа пробела %u -- Буква в верхней раскладке (только англ.!) %U -- Любая буква, символ, или цифра, кроме английской буквы в верхней раскладке %w -- Любая буква, или цифра (только англ.!) %W -- Любой символ, или буква (русская), кроме английской буквы, или цифры %x -- Шестнадцатеричное число %X -- Любая буква, или символ, кроме цифры, или английской буквы, используемой в записи шестнадцатеричного числа %z -- Строковые параметры, содержащие символы с кодом 0 Код --lua local first = io.open([[d:\1.txt]], "r") local result_file = io.open([[d:\result.txt]], "wb")
first_part={}
t={["Game"]="Game2", ["Прем"]="Прем2"} --
for v in first:lines() do result_file:write(string.gsub(v, "[GameПрем]+", t).."\r\n") end
first:close() result_file:close() Или так: Код --lua local first = io.open([[d:\1.txt]], "r") local result_file = io.open([[d:\result.txt]], "wb")
first_part={}
t={["Game"]="Game2", ["Прем"]="Прем2"}
for v in first:lines() do result_file:write(string.gsub(v, "[a-zA-Zа-яА-Я]+", t).."\r\n") end
first:close() result_file:close()
|
|
|
|
dron4938 |
3.6.2018, 16:35
|
Apprentice
Сообщений: 256
Регистрация: 20.3.2017 Группа: Пользователи Наличность: 0
Пользователь №: 18.395
|
Нужно сразу в нескольких файлах сделать одну и ту же замену. как сделать, чтоб не писать по несколько раз одно и тоже тобеж словарь замен чтобы не дублировать код
Код --lua log"clear"
local first = io.open([[c:\Rus\1.txt]], "r") local result_file = io.open([[c:\Eng\1.txt]], "wb") first_part={} t={ ["тумба"]="tuba", ["стол"]="table", ["стул"]="chair", ["ящик"]="box", ["чемодан"]="cement", ["рыба"]="alphabet", } for v in first:lines() do result_file:write(string.gsub(v, "[a-zA-Zа-яА-Я]+", t).."\r\n") end first:close() result_file:close() ------------------------------------------------------- local first = io.open([[c:\Rus\2.txt]], "r") local result_file = io.open([[c:\Eng\2.txt]], "wb") first_part={} t={ ["тумба"]="tuba", ["стол"]="table", ["стул"]="chair", ["ящик"]="box", ["чемодан"]="cement", ["рыба"]="alphabet", } for v in first:lines() do result_file:write(string.gsub(v, "[a-zA-Zа-яА-Я]+", t).."\r\n") end first:close() result_file:close() ------------------------------------------------------- local first = io.open([[c:\Rus\3.txt]], "r") local result_file = io.open([[c:\Eng\3.txt]], "wb") first_part={} t={ ["тумба"]="tuba", ["стол"]="table", ["стул"]="chair", ["ящик"]="box", ["чемодан"]="cement", ["рыба"]="alphabet", } for v in first:lines() do result_file:write(string.gsub(v, "[a-zA-Zа-яА-Я]+", t).."\r\n") end first:close() result_file:close()
|
|
|
|
cirus |
3.6.2018, 17:21
|
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26576
Пользователь №: 16.971
Возраст: 29
|
Цитата тобеж словарь замен чтобы не дублировать А зачем его вообще писать несколько раз? код
Код --lua
local files_in = {[[c:\Rus\1.txt]], [[c:\Rus\2.txt]], [[c:\Rus\3.txt]]} -- список файлов для замены local files_out = {[[c:\Rus\11.txt]], [[c:\Rus\22.txt]], [[c:\Rus\33.txt]]} -- куда сохранять local first = {} local result_file = {}
local t={ ["тумба"]="tuba", ["стол"]="table", ["стул"]="chair", ["ящик"]="box", ["чемодан"]="cement", ["рыба"]="alphabet", }
for i=1, #files_in do local first = io.open(files_in[i], "r") local result_file = io.open(files_out[i], "wb")
for v in first:lines() do result_file:write(string.gsub(v, "[a-zA-Zа-яА-Я]+", t).."\r\n") end first:close() result_file:close() end Вообще получить бы список файлов в папке, но пилотовской dir не работает в lua.
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|