Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2017, 20:54   #1
Dinictis
 
Регистрация: 19.03.2017
Сообщений: 3
По умолчанию Помогите разобраться с lua

Всем доброго времени суток.
Собственно, ради этого вопроса и зарегистрировался на сайте, так как сам не смог разобраться. Я делаю субтитры к разным шоу в помощью программы Aegisub, которая для автоматизации некоторых процессов может использовать lua скрипты.
Так вот, потребовалось, чтобы скрипт находил в тексте такой набор символов ". - " и заменял его на такой ".\N- ", то есть делал разрыв строки. Проблема в том что я практически не знаю lua, в Универе изучаю Java. Но порывшись в программе нашел примеры скриптов, в итоге получил такой код:
Код:
local tr = aegisub.gettext

script_name = tr"Replace"
script_description = tr"Создание разрыва строки"
script_author = "Dinictis"
script_version = "1"

function strip_tags(subs, sel)
    for _, i in ipairs(sel) do
        local line = subs[i]
        line.text = line.text:gsub(". - ", ".\N-")
        subs[i] = line
    end
    aegisub.set_undo_point(tr"Replace")
end

aegisub.register_macro(script_name, script_description, strip_tags)
Но скрипт выдает ошибку. Как я понимаю проблема в том, что, такие символы как "-", "\" и скорее всего "\N" имеют в lua свои значения.
Как можно в lua осуществить такую замену?
Может надо использовать какую-то замену символов?
Помогите пожалуйста

______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 19.03.2017 в 22:42.
Dinictis вне форума Ответить с цитированием
Старый 19.03.2017, 21:14   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,304
По умолчанию

Впервые слышу про Lua, но знаю что такое "Экранирование символов".
Набрал в поисковике и получил ...
Может вам эта ссылка и не подойдет, но как поискать вы знаете ...
http://mydc.ru/ptopic266.html


Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 19.03.2017, 22:44   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А задача какая? Для просто замены одной подстроки на другую в текстовых файлах можно много чего кроме Lua использовать.
Например Notepad++.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.03.2017, 23:15   #4
Dinictis
 
Регистрация: 19.03.2017
Сообщений: 3
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
Впервые слышу про Lua, но знаю что такое "Экранирование символов".
Набрал в поисковике и получил ...
Может вам эта ссылка и не подойдет, но как поискать вы знаете ...
http://mydc.ru/ptopic266.html
Как-то так, ...
Спасибо, экранирование помогло, его надо было применять только для условия поиска, хотя как-то оно тут странно устроено, ещё загвоздка оказалась в том, что в замене надо использовать двойной слеш, в итоге строчка должна выглядеть так:
Код:
line.text = line.text:gsub("%. %- ", ".\\N- ")
Dinictis вне форума Ответить с цитированием
Старый 19.03.2017, 23:18   #5
Dinictis
 
Регистрация: 19.03.2017
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
А задача какая? Для просто замены одной подстроки на другую в текстовых файлах можно много чего кроме Lua использовать.
Например Notepad++.
Я понимаю, это можно и через функцию поиска и замены в самой программе сделать. Просто, скриптом удобнее и быстрее, там ещё не только с точной надо было, но и с другими знаками. Тем более с программой и девушки работают, а им легче нажать на кнопку с скриптом, чем всё остальное делать.
Dinictis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсер LUA Higher39 Общие вопросы Delphi 6 07.09.2015 20:16
Кириллица в lua Кипящий чайник Qt и кроссплатформенное программирование С/С++ 3 14.09.2012 09:33
язык LUA Adilhan Помощь студентам 1 10.01.2012 23:48
Lua+Delphi? gulyavcev Общие вопросы Delphi 0 08.12.2009 14:04
Функции Lua apromix Общие вопросы Delphi 4 11.09.2009 10:30