Find Begin/End setting
-
Ok, so I would like to know, if notepad++ can use a find start, find end
So I have a txt files with 50,000 rows, and on each row I have 4 letter codes
I would like to know, and how if possible to select between 2 sets of codes
Keep in mind, holding shift, and scrolling down is not an option, it’s way to long
So in my text files I have
Cod1
Xid2
Xid3
Xid4
Xid5
Cod2I’m looking for anything that can find both Cod1 and Cod2, highlight everything between so that I can copy or cut that out to another notepad
-
If this is your real data then you can do a regular expression search
(?<=Cod1).+(?=Cod2)
-
@Javier-Rivas said in Find Begin/End setting:
Keep in mind, holding shift, and scrolling down is not an option, it’s way to long
Check out the Edit menu’s Begin/End select feature. Invoke it once to set a “beginning” position (you get no visual indication that you’ve done this). Sometime later, when you are somewhere vastly different from you starting point, invoke that same command again. This looks up your previously-set beginning position and creates selected text between there and your current position.
-
Hello, @javier-Rivas, @ekopalypse and @alan-kilborn and All,
I think that a more accurate regex would be :
MARK
(?s-i)^Cod1\R\K.+?(?=^Cod2\R)
Because :
-
The
(?-i)
ensures that search of the limitsCod1
andCod2
are done with case respect -
The lazy quantifier
+?
is needed if several sectionsCod1.......Cod2
exist in a same file -
The start of line assertion
^
and the EOL characters\R
ensure, for instance, that the lineCod2
will not be matched, either, in linesXXXCod2
,Cod2XXX
orXXXCod2XXX
-
The
\R
syntax, after Cod1, prevents from marking the lineCod1
, too
Best Regards,
guy038
-
-
so that I can copy … that out to another notepad
If you highlight the text using either @Ekopalypse or @guy038 methods, you’ll want to use the
Copy Marked Text
button after.… or cut …
There is no
Cut Marked Text
capability – maybe there should be? -
This post is deleted! -
@guy038 do I need to download a plugin. Because my Mark screen does not look like the one in the screen shot
-
You just need N++ version 7.9.1 or greater.
-
@Alan-Kilborn great, but the mark didn’t work, the data I used is an example, but to test the regex, I made a txt file and added Cod1 and many data between, and add Cod2. I pressed on all and found nothing. Marked nothing
-
@Javier-Rivas OK the first regex worked, now to test on my real txt file
-
@Javier-Rivas said in Find Begin/End setting:
@Javier-Rivas OK the first regex worked, now to test on my real txt file
Are you talking to yourself? :-)
Convincing yourself that it really does work?? :-) -
@Ekopalypse OK your code works, question, could it also highly the Cod 1 and Cod2, I know I said between, but I thought it would find the Cod1 and Cod2 and include it as well
-
could it also highly the Cod 1 and Cod2, I know I said between, but I thought it would find the Cod1 and Cod2 and include it
find:
Cod1.+?Cod2
-
@Alan-Kilborn Perfect
-
Learn what it does, for yourself for the future:
- match
Cod1
exactly .+?
match any single character (the dot means “any single”), one or more times (the+
means 1+ times), but as few times as needed (the?
specifies that)- match
Cod2
exactly
All 3 of these things must exist for you to have an overall match.
- match
-
@Alan-Kilborn OK, so I have improved the code search to my use so here is my original search
(?= "caup).+(?= "cues) < — notices the spacing and I removed the <first to find is “caup”, and it starts with 2 spaces in front of it
last to find is “cues”, and it needs to stop 2 spaces before the “cues”—“caup”: < ---- it highlights the spaces and the code
-{
-adad
-adasd
-asdad
-}
], < ------- it stops right here
—“cues”: < ----- it ignores the spaces and the codeso now it’s perfect to my standards
-
@Alan-Kilborn Yes, I call it motivation…lmao
Yea, I wanted to add a comment and I clicked on reply to myself…hahahaha -
@Alan-Kilborn there should be a cut mark and and replace mark that would be awesome
-
@Javier-Rivas said in Find Begin/End setting:
there should be a cut mark and and replace mark that would be awesome
That would be nice I suppose, but in practice it is not so bad without it.
I’d like to see two separate commands: Begin Select and End Select. That way it would be easier to abort a begin-point by setting a new one (if you realize you’ve made a mistake in setting the origin), and it could also be a reminder in the menu that you haven’t yet set the begin point (Begin Select would be enabled and End Select would be disabled).
BUT…it is definitely OK the way it currently works. And a downside of two commands is that using it from a shortcut would require two shortcuts to be allocated.
Speaking of shortcuts, one thing that is lacking is tying this handy functionality to a shortcut by default. I tie mine to Ctrl+b.
-
Hi, @javier-rivas, @ekopalypse and @alan-kilborn and All,
@javier-rivas, taking in account your additional information, my regex becomes :
MARK
(?s-i)^\x20\x20"caup":.+?(?=^\x20\x20"cues":)
This regex :
-
Matches the literal string
"caup":
, preceded with two space characters ( because of\x20\x20
) beginning a line, ( because of^
), with this exact case ( because of the(?-i)
modifier ) -
Followed with the smallest ( because of
?
) non-null ( because of+
) range of any character ( because of(?s)
modifier )… -
But ONLY IF followed with the literal string
"cues":
, preceded with two space characters ( because of\x20\x20
) beginning a line, ( because of^
), with this exact case ( because of the(?-i)
modifier ).
Note that the
(?=......)
syntax is a look-ahead structure, in other words a condition, which must be true in order the present match, so far, to be valid but which is never part of the overall match
Thus, in the text below :
"caup": -{ -adad -adasd -asdad -} ], "cues":
It would mark and bookmark all the lines but the last one !
Cheers,
guy038
-