поиск и замена

Russian main discussion
  • Author
  • Message
Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

KDJ
«» to "" is much easier than "" to «», so it's no need to use RegEx.
Alex digger
запиши макрос с двумя заменами и всё

Offline
Posts: 3
Joined: Sun Aug 07, 2011 11:13 am

Post by Alex digger »

Fr0sT wrote:KDJ
«» to "" is much easier than "" to «», so it's no need to use RegEx.
Alex digger
запиши макрос с двумя заменами и всё
простите, не понял. Я не силен в макросах и скриптах - можно пошагово объяснить?

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Alex digger wrote:простите, не понял. Я не силен в макросах и скриптах - можно пошагово объяснить?
1) А что именно непонятно? Как скрипт вызвать?
2) Совет KDJ разложенный "пошагово":
1. Вызвать контекстное меню (Пр.Кн.Мышки)
2. "Скрипты>"--"Поиск/Замена с регулярными выражениями"
3.1. Для замены ёлочек на прямые в диалоге указать:
Что: «([\s\S]*?)»
Чем: "$1"
Опции = все сброшены
Направление = (*) С начала
4.1. Кнопка "Заменить все" = нажать Лев.Кн.Мышки.
(
3.2. Для замены прямых на ёлочки в диалоге указать:
Что: "([\s\S]*?)"
Чем: «$1»
Опции = все сброшены
Направление = (*) С начала
4.2. Кнопка "Заменить все" = нажать Лев.Кн.Мышки.
)

Пункты 1-2 равнозначны с:
Меню "Плагины"--"Скрипты..."--"SearchReplace.js"--"Запустить"

Дублировать описание еще и макросами не буду, но дам подсказку:
1) Меню "Плагины"--"Макросы"--[Запись]... ну а дальше сами :)

Если "не пошлО", то убедитесь, что соответствующий плагин запущен (меню "Настройки"--"Плагины"--Статус "Работает" напротив Scripts::Main и/или Macros::Main), и что файл скрипта (\AkelFiles\Plugs\Scripts\SearchReplace.js) существует.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

KDJ wrote:You do this by using SearchReplace.js script and regular expression.
Type:
What (Что):    "([\s\S]*?)"
With (Чем):     «$1»
Или
Что: «|»
Чем: "

eil
Offline
Posts: 40
Joined: Sun Nov 15, 2009 5:53 pm
Location: Alex

Post by eil »

подскажите(если это возможно) как провести замену с использованием шаблона/маски? например нужно заменить все "number=1231, number=3275, number=238"(любые значения) на "number=0" - тоесть маска чтото вроде "number=****" или "number=????".
если это невозможно, то есть ли шанс что будет реализовано в дальнейшем?

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

eil
скриптом SearchReplace.js регулярным выражением
Что: number=\d+
Чем: number=0

Offline
Posts: 14
Joined: Mon Sep 27, 2010 6:13 pm

Post by Hocok44 »

Народ, немогу найти нигде "ФАК" по всем этим регулярным и "другим подобным" выражениям, чтобы не тупить при выполнении элементарных задач по удалении чего нибудт одинакового в txt файле.

К примеру, как удалить из этого, все что в скобках и сами скобки?
пример "(25м=180мб)"
14. Kapri Styles (25м=180мб).wmv
15. Vanessa Cruz (37м=275мб).wmv
16. Sydney Capri (17м=118мб).wmv
17. Kenu (28м=207мб).wmv
18. Kandi (20м=142мб).wmv
19. Misty Stone (27м=342мб).wmv
20. Brown Sugar (21м=266мб).wmv
21. Peaches (36м=270мб).wmv
22. Sandy Jackmon (23м=166мб).wmv
23. Crystal Clear (38м=282мб).wmv
24. Mz Caution (12м=81мб).wmv
25. Vicky (9м=65мб).wmv
тоесть нужно оставить
14. Kapri Styles.wmv
15. Vanessa Cruz.wmv
и т.д.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Hocok44
В этой теме уже писали.

Что: (.*) \(.*\)(.*)
Чем: $1$2

Offline
Posts: 14
Joined: Mon Sep 27, 2010 6:13 pm

Post by Hocok44 »

Instructor
Огромное спасибо!
Пока еще незнаю как, но работает )
Будем изучать :D

Offline
Posts: 14
Joined: Mon Sep 27, 2010 6:13 pm

Post by Hocok44 »

Еще один вопросик, немогу который решить.
Возможно ли редактировать список имен файлов подобным образом:
Исходный текст
Kapri - Styles.wmv
Vanessa Cruz.wmv
Sydney Capri.wmv
Kenu.wmv
Kandi.wmv

Желаемый результат
K_a_p_r_i_-_S_t_y_l_e_s.wmv
V_a_n_e_s_s_a C_r_u_z.wmv
S_y_d_n_e_y C_a_p_r_i.wmv
K_e_n_u.wmv
K_a_n_d_i.wmv
Вобщем думаю понятна задача - проставить прочерк между всеми буквами/символами, кроме пробелов и разрешения файла.
Огромное спасибо тому, кто сумеет помоч.

P.S. если с исключениями пробелов и разрешений есть проблема, то можно редактирование подсказать и без них. Вида: K_a_n_d_i_._w_m_v

Offline
Posts: 124
Joined: Tue Jun 03, 2008 10:32 pm

Post by Xephon »

В условии не описаны особые случаи, т.к. из примера следует, что " - " надо заменить на "_-_", а это не соотвествует условию
проставить прочерк между всеми буквами/символами, кроме пробелов и разрешения файла
Если в списке у всех файлов есть расширение, состоящее всегда из 3-х символов, то можно сделать следующим образом:

1.
Что: (\S(?! ))(?=.{5,}$)
Чем: $1_
И вторым проходом заменить " - " на "_-_"

Если хочется сделать в один шаг, то можно так:

2.
Что: ((\S)( *(?=-))|(-) *(?=\S)|(\S)(?! ))(?=.{5,}$)
Чем: $2$4$5_

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Xephon
1. Потестил => "Ничего не найдено". Вывод - птички нужно указывать. А ещё лучше недостающую в моём случае птичку не использовать вообще - быстрее и меньше багов.
2. В если ещё подумать? Из
saads.sads
sadas.dsa
sdaad.sadas
asdas.das
получается
s_a_a_d_s_.sads
s_a_d_a_s.dsa
s_d_a_a_d_._sadas
a_s_d_a_s.das
Я тоже не думая чуть-чуть такого не насоветовал.

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Что: (\S[ \S]*)(\.\w+)
Чем: return $1.split("").join("_").replace(/_ _/g, " ").replace(/ - /g, "_-_") + $2;
[v] Заменять на функцию

Только там аж два костыля :)

Offline
Posts: 124
Joined: Tue Jun 03, 2008 10:32 pm

Post by Xephon »

FeyFre
Я же специально написал, что решение для случая, когда
в списке у всех файлов есть расширение, состоящее всегда из 3-х символов
Естественно для первой и третьей строчек из вашего примера оно не сработало.

Offline
Posts: 14
Joined: Mon Sep 27, 2010 6:13 pm

Post by Hocok44 »

Xephon
Infocatcher
FeyFre

Спасибо вам огромное!
Все варианты мне подошли.
Очень отзывчивые здесь форумчане, что достаточно редко встречается.
Post Reply