Find/Replace number with Increment Value
-
…
and here is a post where I show it in this Forum
addenda: regex would be something like
(\\[\#\d+\\])/addenda -
@PeterJones thanks for the help!
I’am burned…
I don’t exactly understand how to succeed what i want to!
Sorry! -
Sorry, given that you knew PythonScript would be required, I thought you already knew how to use it.
if this is a one-off, just use the PythonScript, show console, and type the next 3 filled lines (plus a couple of extra returns between the function and the call, because the console requires an extra newline to end a function definition…)
def add_1(m): return m.group(1) + str(int(m.group(2)) + 1) + m.group(3) editor.rereplace('(\[\#)(\d+)(\])', add_1);Yes, after debugging, I changed the regex to make the replacement easier for me.
If this is going to be used more than once, do Python Script > New Script, and paste in those four lines, and use the PythonScript menus to run the script and/or assign it to the Run menu…
-
@PeterJones If i am right this adds one to the existed digit inside the brackets.
What i actually want is to add one to the next bracket so if bracket one is [#1] the next one to be [#2].The example below is my actual problem.
i want the script to calculate the digit inside the previous bracket [#34] and replace the next one [#1] with [#35] the [#2] with [#36] and so on ![#34] T=2 F=INITIALKEY 1=E maj 2=12B 3=0|0 [#1] T=2 F=INITIALKEY 1=Gm 2=1A 3=0|0 [#2] T=2 F=INITIALKEY 1=A\u266dm 2=1A 3=0|0``` -
I believe this does what you want:
prev = None def renumber(m): global prev if prev == None: prev = int(m.group(2)) else: prev = prev + 1 return m.group(1) + str(prev) + m.group(3) editor.rereplace(r'^(\[#)(\d+)(\])', renumber); -
@PeterJones Thank you for your time appreciated!
It needs a small fix (adding some \ ) and it works flawlessly!
editor.rereplace(r'^(\[\#)(\d+)(\])', renumber); -
Sorry, even in ```, the forum strips
\\[to become[under certain circumstances

-
@PeterJones
HaHa
i was so pissed of…
i was trying to post the correct one but i couldn’t…
i tried to edit my post about 100 times in the last minute!!!Thanks once again!
-
Hello @peterjones, @DJSpirosG and All,
I suppose that the regex, in the Python script, is
r'^(\\[#)(\d+)(\\])'and NOTr'^(\[#)(\d+)(\])'!!If so, Peter, I can edit your post and make the corrections. Just tell me !
Remark : To explicitly write the literal strings
\\[and\\], in our forum, you need to write them as\\\[and\\\]Note also that, unfortunately, the
Previewpanel does not show the right layout :-(( Things are OK when you click on theSubmitbutton, only !BR
guy038
P.S. :
To write the text, of the Remark line, just above, I needed to write :
-
First,
2consecutive\before each square bracket ! -
Second,
3consecutive\before each square bracket !
-
-
This post is deleted!
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login