AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

поиск и замена
Goto page Previous  1, 2, 3 ... , 14, 15, 16  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
Infocatcher



Joined: 06 Aug 2007
Posts: 1639

PostPosted: Mon Jul 29, 2013 9:09 pm    Post subject: Reply with quote

А у меня меняет. Вокруг «\[ [^\]]+ \]» не должно быть пробелов.
Back to top
View user's profile Send private message Visit poster's website
kadvlad



Joined: 16 Mar 2008
Posts: 26

PostPosted: Thu Jun 19, 2014 5:29 pm    Post subject: Reply with quote

Прошу помощи в автоматизации замены цифр.
Есть построчный текст:
Code:
 ... 772-786
 ... 772-786
 ... 772-786
 ... 772-786
 ... 772-786
 ... 772-786
 ... 772-786
 ... 772-786
 ... 772-786
 ... 772-786
 ... 772-786
 ... 772-786
 ... 772-786
 ... 772-786
 ... 772-786

Нужно заменить каждую строку на соотв. порядковый номер в данном диапазоне:
Code:
... 772
... 773
...
... 785
... 786
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5454

PostPosted: Fri Jun 20, 2014 8:53 am    Post subject: Reply with quote

kadvlad
SearchReplace.js

Что: ^(.*?)(\d+)-\d+$
Чем: if (typeof nInit == "undefined" || nInit != parseInt($2)) {nInit=parseInt($2); nCount=0;} return $1 + (nInit + nCount++);
[v] Регулярные выражения
[v] Многострочно
[v] Заменять на функцию
Back to top
View user's profile Send private message Send e-mail
kadvlad



Joined: 16 Mar 2008
Posts: 26

PostPosted: Fri Jun 20, 2014 9:45 am    Post subject: Reply with quote

Instructor
спасибо, работает
Back to top
View user's profile Send private message
Volandqq



Joined: 29 Jul 2014
Posts: 1

PostPosted: Tue Jul 29, 2014 5:03 pm    Post subject: Reply with quote

Здравствуйте!
Подскажите пожалуйста как можно сделать следующее:

есть файл в котором примерно следующий текст

"
Вася собрал 67394 яблок
Вася собрал 67394 яблок
Вася собрал 67394 яблок
Вася собрал 67394 яблок
"
и так далее много строк

Подскажите как заменить число 67394 чтобы было вот так

"
Вася собрал 67394 яблок
Вася собрал 67393 яблок
Вася собрал 67392 яблок
Вася собрал 67391 яблок
Вася собрал 67390 яблок
Вася собрал 67389 яблок
"
Back to top
View user's profile Send private message
opk44



Joined: 16 Jan 2010
Posts: 360

PostPosted: Tue Jul 29, 2014 8:08 pm    Post subject: Reply with quote

Volandqq
Ответ на почти такой вопрос давался месяцем ранее. Читайте.
Вам только укоротить условие поиска
[Что]: ^(.*?)(\d+)
и поменять в функции плюс на минус у счетчика
[Чем]: if (typeof nInit == "undefined" || nInit != parseInt($2)) {nInit=parseInt($2); nCount=0;} return $1 + (nInit - nCount++);
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 27 Jul 2010
Posts: 273

PostPosted: Wed Jul 30, 2014 6:04 pm    Post subject: Reply with quote

Cuprum
Может, этот вариант менее корректен, но я делаю так:
что: \n+
на: \n
[x] регэксп
Back to top
View user's profile Send private message
Lenchik



Joined: 10 Jan 2011
Posts: 281

PostPosted: Wed Sep 24, 2014 5:30 pm    Post subject: Reply with quote

Тестовый текст
Code:
; =========== "GUI Development" ===========
; --- Predefined Dialog Boxes ---
dialog errordlg export2wsdlg helpdlg inputdlg listdlg msgbox printdlg printpreview questdlg uigetdir uigetfile
uigetpref uiopen uiputfile uisave uisetcolor uisetfont waitbar warndlg
; --- User Interface Deployment ---
guidata guihandles movegui openfig
;   --- User Interface Development ---
addpref getappdata getpref ginput guidata guide inspect isappdata ispref rmappdata rmpref setappdata setpref uigetpref
uisetpref waitfor waitforbuttonpress
;       --- User Interface Objects ---
menu uibuttongroup uicontextmenu uicontrol uimenu uipanel uipushtool uitable uitoggletool uitoolbar
; =========== "3-D Visualization" ===========
; --- Surface and Mesh Plots ---
;     ... Surface and Mesh Creation ...
hidden mesh meshc meshz peaks surf surfc surface surfl tetramesh trimesh triplot trisurf

Нужно в строках не начинающихся со знака ; заменить каждое начало строки и каждый пробел на определенный текст. По сути перед словами кое что вписать. Каким регекспом это выполнить?
Back to top
View user's profile Send private message Visit poster's website
Serge Yolkin



Joined: 27 Jul 2010
Posts: 273

PostPosted: Wed Sep 24, 2014 8:52 pm    Post subject: Reply with quote

Lenchik
Code:
(?<=[^знаки])\b([A-Za-zЁА-Яа-яё]+)
на
Code:
добавляемый текст\1
?
Back to top
View user's profile Send private message
YuS



Joined: 15 Sep 2013
Posts: 133

PostPosted: Thu Sep 25, 2014 11:29 am    Post subject: Reply with quote

Serge Yolkin wrote:
?

Так вставятся символы во все строки, а по условию, в строках где начальный символ ";", добавлять ничего не нужно. Тут без SearchReplace.js, с его возможностью добавления функции, не обойтись.
Back to top
View user's profile Send private message
Lenchik



Joined: 10 Jan 2011
Posts: 281

PostPosted: Thu Sep 25, 2014 5:31 pm    Post subject: Reply with quote

Действительно, не работает как надо.
какую функцию написать?
Back to top
View user's profile Send private message Visit poster's website
YuS



Joined: 15 Sep 2013
Posts: 133

PostPosted: Thu Sep 25, 2014 6:50 pm    Post subject: Reply with quote

Lenchik wrote:

какую функцию написать?

Это надо автора попросить, чтобы помог.
Как-то пытался найти описание, но увы, либо плохо искал, либо его нет в природе... а пример использования функций, приведенный в начале самого файла, не раскрывает всех возможностей.
А так, я бы это каким-нибудь sed-ом сделал, но здесь это уже оффтоп.
Back to top
View user's profile Send private message
KDJ



Joined: 06 Mar 2010
Posts: 1411
Location: Poland

PostPosted: Thu Sep 25, 2014 7:29 pm    Post subject: Reply with quote

Lenchik
SearchReplace.js ("Regular expressions", "Multiline", "Replace with function").
What:
Code:
^[^;\r\n].*

With:
Code:
return "ReplaceText" + arguments[0].replace(/ /g, "ReplaceText");
Back to top
View user's profile Send private message
Lenchik



Joined: 10 Jan 2011
Posts: 281

PostPosted: Thu Sep 25, 2014 7:37 pm    Post subject: Reply with quote

Great! Works! You saved me a lot of time making new .coder file. Thank you!
Hope i will understand someday how this magic function of you works.
Back to top
View user's profile Send private message Visit poster's website
YuS



Joined: 15 Sep 2013
Posts: 133

PostPosted: Fri Sep 26, 2014 2:34 am    Post subject: Reply with quote

Lenchik wrote:

Hope i will understand someday how this magic function of you works.

Да, в готовом решении от джедая уже разобраться можно, но вот как найти решение не имея описания или хотя бы примеров... действительно, на магию похоже. Smile
А работает она так:
С помощью регэкспа и определенных настроек формы замены выбираются необходимые строки, из выборки исключаются пустые строки и строки без начального символа ";", затем к выборке применяется функция замены пробелов на необходимый текст.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Goto page Previous  1, 2, 3 ... , 14, 15, 16  Next
Page 15 of 16

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group