Community
    • Login

    Delete every line below a bookmarked line.

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    47 Posts 6 Posters 2.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dr ramaanandD
      dr ramaanand @dr ramaanand
      last edited by dr ramaanand

      @dr-ramaanand said in Delete every line below a bookmarked line.:

      #STNEW:_TEST-\d+\R\K(?:..)

      @Antheds-Kennel The above Regular expression will help find it. Type #STNEW:_TEST-\d+\R\K(?:.*.*) in the Find field and then leave the Replace field blank, tick/select the Regular expression mode and hit Replace All or Replace in files if you want to do this in multiple files to get rid of it (that will get rid of only one line, just below the line beginning with #STNEW:_TEST-)

      1 Reply Last reply Reply Quote 0
      • PeterJonesP
        PeterJones @Antheds Kennel
        last edited by PeterJones

        @Antheds-Kennel ,

        After looking at your image, it is showing that the regex deletes all the lines after #STNEW: lines, and it seems you might be trying to say “but I only wanted it to delete the ones after a bookmark, so lines 2, 6, and 10 only, without also deleting 4, 8, 12, and 14”? Because if so, that is something you cannot do only with regex, because the regex engine cannot see your bookmarks. You CANNOT bookmark lines 1, 5, and 9, and then say “delete the lines right after a bookmark”.

        The easiest thing to do would be to bookmark the lines you actually want to delete, rather than the line before the one you want to delete, and then use Search > Bookmark > Remove Bookmarked Lines. Or, simpler, if you’re using the Mark dialog to bookmark the lines to begin with (as you show in your screenshot), then just do a search/replace regex to do the search-and-delete in one step: Something like FIND = #STNEW:_TEST-(1|3|5)\R(.*\R) REPLACE = $2

        –
        Update: that was the wrong results; FIND = (#STNEW:_TEST-(?:1|3|5)\R)(.*\R) REPLACE = $1 is, I think, what I meant (untested, as I away from NPP)

        Antheds KennelA 1 Reply Last reply Reply Quote 0
        • guy038G
          guy038
          last edited by guy038

          Hi, @antheds-kennel, @datatraveller1, @dr-ramaanand, @peterjones and All,

          Peter, you said :

          … Because if so, that is something you cannot do only with regex, because the regex engine cannot see your bookmarks. You CANNOT bookmark lines 1, 5, and 9, and then say “delete the lines right after a bookmark”.

          I agree with this statement ! Regexes and bookmarks are different features ! However, as the OP bookmarked the lines ending with digits 1|3|5, we can imagine this regex S/R :

          FIND ([135]\R).+\R

          REPLACE $1

          As expected, it would delete the lines 2, 6 and 10, only, leaving all the other lines unchanged !

          Best Regards

          guy038

          1 Reply Last reply Reply Quote 0
          • dr ramaanandD
            dr ramaanand @dr ramaanand
            last edited by dr ramaanand

            Yes, that works, unless thr OP wants to delete other lines or skip deleting other lines. See https://regex101.com/r/EjNI9Y/1

            1 Reply Last reply Reply Quote 0
            • guy038G
              guy038
              last edited by

              Hi, @peterjones and All,

              Sorry, Peter,I should have read your post thoroughly, as you already provided a similar solution to mine : FIND (#STNEW:_TEST-(?:1|3|5)\R)(.*\R) and REPLACE = $1

              BR

              guy038

              1 Reply Last reply Reply Quote 0
              • Antheds KennelA
                Antheds Kennel @guy038
                last edited by Antheds Kennel

                @guy038 Hello and goodmorning from Sweden, I reached out to Ai this morning to see if it could help you understand what I mean. And I got this answer: "Delete Only the Lines Below Bookmarked Lines
                Step 1: Bookmark the Correct Lines
                Ensure you’ve bookmarked only the lines directly above the lines you want to delete. Use Ctrl+F2 to toggle bookmarks on or off for the relevant lines.
                Step 2: Verify Bookmarks
                Go to Search → Bookmarks → Show All Bookmarks to confirm that only the correct lines are bookmarked.
                Follow these steps precisely:

                Go to Macro → Start Recording.
                Perform these actions in sequence:
                Press Ctrl+F2 to jump to the next bookmark.
                Press the Down Arrow key to move the cursor to the line below.
                Press Ctrl+L to delete the line below.
                Press Ctrl+F2 again to jump to the next bookmark.
                Stop the recording via Macro → Stop Recording.
                Save the macro via Macro → Save Current Recorded Macro.
                Step 4: Run the Macro Until All Bookmarks Are Processed
                Go to Macro → Run a Macro Multiple Times.
                Select Run until the end of the file to ensure all lines below the bookmarked lines are deleted.
                If This Still Doesn’t Work
                If the macro doesn’t behave as expected, we could use a manual method involving regex. Bookmarks in Notepad++ can’t be directly accessed by regex, but they can act as visual markers while you use regex for other patterns.

                Deleting lines below bookmarked lines in Notepad++ cannot do by regex: Alternative alternate outlines flex recommendations use text off regular ACL–"

                Sorry for all the mistakes I make. I accept all the tips and corrections you give me. So I do what I can to correct my posts so that they don’t become wrong again. Kind regards Thore

                1 Reply Last reply Reply Quote 0
                • Antheds KennelA
                  Antheds Kennel @PeterJones
                  last edited by

                  @PeterJones said in Delete every line below a bookmarked line.:

                  @Antheds-Kennel said in Delete every line below a bookmarked line.:

                  Hello again, I have uploaded a picture showing before and after with the code you gave first

                  You can just paste pictures into your reply, so they are embedded without people having to click a link to an external site.

                  And with some external sites, you can use the ![](...) syntax to embed the external image itself, rather than linking to their advertisement-ridden landing page
                  Using the code ![](https://i.ibb.co/zxwV87k/33.jpg) will embed your external image:

                  But since external sites can change their rules (thousands of imgur-hosted external images will no longer show in the forum, even though they used to work here, so much of our discussion history now has broken images because of the external site outside of our control), so it’s really best to just paste your image directly in your post.

                  Ok, i will do that next time, or should i correct that one i already have posted?

                  1 Reply Last reply Reply Quote 0
                  • Antheds KennelA
                    Antheds Kennel @PeterJones
                    last edited by

                    @PeterJones It’s true that I only want to delete the lines below the ones that are bookmarked. So technically I could blureed out the “#STNEW” lines since my original question was to delete all lines below the ones that are bookmarked. So I admit I was unclear.

                    1 Reply Last reply Reply Quote 0
                    • guy038G
                      guy038
                      last edited by guy038

                      Hi, @antheds-kennel, @datatraveller1, @dr-ramaanand, @peterjones and All,

                      Sorry, @antheds-kennel, But I still do not understand your goal ! You said :

                      I only want to delete the lines below the ones that are bookmarked.

                      Do you mean :

                      I only want to delete each SINGLE line which is below the bookmarked lines

                      or

                      I only want to delete all the lines which are below the bookmarked lines


                      In addition, in the description of your macro, you said, twice :

                      Press Ctrl+F2 to jump to the next bookmark.

                      This is not right ! This feature does not enable you to move to the next bookmark ! The Ctrl + F2 feature TOGGLE the Bookmark status of the current line :

                      • If the current line is not bookmarked, a Ctrl + F2 action will bookmark this line

                      • If the current line is bookmarked, a Ctrl + F2 action will un-bookmark this line


                      To move to a bookmark, you can, either :

                      • Hit the F2 key, which moves to the next bookmark

                      • Hit the Shift + F2 combination, which moves to the previous bookmark

                      BR

                      guy038

                      Antheds KennelA 3 Replies Last reply Reply Quote 0
                      • Antheds KennelA
                        Antheds Kennel @guy038
                        last edited by

                        @guy038 said in Delete every line below a bookmarked line.:

                        I only want to delete all the lines which are below the bookmarked lines

                        That is what i want, Sorry for not being clear enough, english is not my first language, but i will do my best.

                        1 Reply Last reply Reply Quote 0
                        • Antheds KennelA
                          Antheds Kennel @guy038
                          last edited by

                          @guy038 Hello and happy new year, what I attached last time was a suggestion from ChatGPT. What I do is:

                          1. Bookmark all the lines that I want to delete (after I delete the line below).
                          2. Record a macro where I click F2->down arrow.
                          3. CTRL+L to delete that line.
                          4. Stop recording.
                          5. Click Macro->Run A Macro Multiply Times->Run Until…(with the macro I just created).
                          6. Now I’m supposed to go via Search->Bookmark->Remove Bookmarked Lines, but I can’t get that far because the macro deletes more than what I want to delete.
                          1 Reply Last reply Reply Quote 0
                          • guy038G
                            guy038
                            last edited by guy038

                            Hi, @antheds-kennel, @datatraveller1, @dr-ramaanand, @peterjones and All,

                            @antheds-kennel, you said :

                            I want to delete all the lines which are below the bookmarked lines

                            OK ! Then, if I consider this INPUT text, in a new tab :

                              Line 01
                              Line 02
                              Line 03
                            • Line 04
                              Line 05
                              Line 06
                            • Line 07
                              Line 08
                              Line 09
                              Line 10
                              Line 11
                            • Line 12
                              Line 13
                              Line 14
                              Line 15
                              Line 16
                              Line 17
                              Line 18
                              Line 19
                              Line 20
                              Line 21
                              Line 22
                            

                            Where only the lines 4, 7 and 12 are bookmarked

                            You’re expecting this OUTPUT text, aren’t you ?

                              Line 01
                              Line 02
                              Line 03
                            • Line 04
                            • Line 07
                            • Line 12
                            

                            If this behavior is the one you looking for :

                            • Firstly, bookmark all the unmarked lines which lay before the first bookmarked line of current file ( so the lines 01, 02 and 03 in our example )

                            • Secondly, do a mouse right-click, within the bookmark margin, on the left, and run the Remove Non-Bookmarked Lines option

                            BR

                            guy038

                            Alan KilbornA 1 Reply Last reply Reply Quote 0
                            • Alan KilbornA
                              Alan Kilborn @guy038
                              last edited by Alan Kilborn

                              @guy038 said :

                              …bookmark all the unmarked lines which lay before the first bookmarked line

                              This may be a lot of manual effort if there are many lines upon which to place a bookmark – think about clicking the margin or pressing F2 hundreds of times. :-(

                              Making a text selection of all of these lines and then choosing the Toggle Bookmark command does not do it; it sets a bookmark on the (single) line of the caret in the selection.

                              Here’s a way to automate placing bookmarks on multiple lines, acting on @guy038 's example text:

                              • put a character that does not appear in the document at the end of the last line upon which bookmarking of all individual lines is desired:
                                c00a17d5-7895-41d8-9703-5067f6b9fd7d-image.png
                              • run this marking operation:
                                b8f93f73-44a1-46c5-82f3-c4f3c51f388c-image.png
                              • obtain this result:
                                520d4b7c-b975-424c-b75e-62932cfb3302-image.png
                              • remove the extra character added earlier
                              1 Reply Last reply Reply Quote 2
                              • guy038G
                                guy038
                                last edited by

                                Hello, @alan-kilborn and All,

                                Alan, nice catch ;-))

                                Happy New Year !

                                guy038

                                1 Reply Last reply Reply Quote 1
                                • guy038G
                                  guy038
                                  last edited by

                                  Hello, @alan-kilborn and All,

                                  BTW, I’m thinking : would it be a problem if :

                                  • When no standard selection, in current file, the commands Toggle Bookmark, Clear All Bookmarks, Cut Bookmarked Lines, Copy Bookmarked Lines , Paste to (Replace) Boomarked lines, Remove Bookmarked lines, Remove Non-Bookmarked Lines and Inverse Bookmark would act on the entire file

                                  • When a standard selection would occur ( even partially ), these eight commands would act on that selection only


                                  • Could this new behavior be extended to multiple standard selections ?

                                  • More important : what about a Ctrl + Z / Ctrl + Y action ?

                                  Best Regards,

                                  guy038

                                  Alan KilbornA 1 Reply Last reply Reply Quote 0
                                  • Alan KilbornA
                                    Alan Kilborn @guy038
                                    last edited by Alan Kilborn

                                    @guy038 said :

                                    When no standard selection, in current file, the commands Toggle Bookmark, Clear All Bookmarks, Cut Bookmarked Lines, Copy Bookmarked Lines , Paste to (Replace) Boomarked lines, Remove Bookmarked lines, Remove Non-Bookmarked Lines and Inverse Bookmark would act on the entire file

                                    With the exception of Toggle Bookmark, these commands already all work on the entire file.

                                    When a standard selection would occur ( even partially ), these eight commands would act on that selection only

                                    You should start with a “feature request” for this behavior.

                                    Could this new behavior be extended to multiple standard selections ?

                                    I would think that only a single stream-type selection should be supported. Anything more than that overcomplicates a feature request (and probably kills it).


                                    what about a Ctrl + Z / Ctrl + Y action ?

                                    Not applicable.
                                    Undo/redo applies to textual changes only.

                                    Alan KilbornA 1 Reply Last reply Reply Quote 2
                                    • Alan KilbornA
                                      Alan Kilborn @Alan Kilborn
                                      last edited by

                                      You should start with a “feature request” for this behavior.

                                      And HERE it is.

                                      dr ramaanandD 1 Reply Last reply Reply Quote 1
                                      • dr ramaanandD
                                        dr ramaanand @Alan Kilborn
                                        last edited by dr ramaanand

                                        @Alan-Kilborn @guy038 and all: The regular expression method explained by @guy038 and @PeterJones would have been best but due to some fixed ideas, the OP is unwilling to use it. Happy New Year!

                                        Alan KilbornA 1 Reply Last reply Reply Quote 0
                                        • Alan KilbornA
                                          Alan Kilborn @dr ramaanand
                                          last edited by

                                          @dr-ramaanand said in Delete every line below a bookmarked line.:

                                          the OP is unwilling to use it

                                          Well, if it comes down to being able to obtain an end result that you need, and you refuse to use a technique that gets you there, I guess you may not get to your destination.

                                          1 Reply Last reply Reply Quote 1
                                          • Antheds KennelA
                                            Antheds Kennel @guy038
                                            last edited by

                                            @guy038 said in Delete every line below a bookmarked line.:

                                            Hi, @antheds-kennel, @datatraveller1, @dr-ramaanand, @peterjones and All,

                                            Sorry, @antheds-kennel, But I still do not understand your goal ! You said :

                                            I only want to delete the lines below the ones that are bookmarked.

                                            Do you mean :

                                            I only want to delete each SINGLE line which is below the bookmarked lines

                                            or

                                            I only want to delete all the lines which are below the bookmarked lines


                                            In addition, in the description of your macro, you said, twice :

                                            Press Ctrl+F2 to jump to the next bookmark.

                                            This is not right ! This feature does not enable you to move to the next bookmark ! The Ctrl + F2 feature TOGGLE the Bookmark status of the current line :

                                            • If the current line is not bookmarked, a Ctrl + F2 action will bookmark this line

                                            • If the current line is bookmarked, a Ctrl + F2 action will un-bookmark this line


                                            To move to a bookmark, you can, either :

                                            • Hit the F2 key, which moves to the next bookmark

                                            • Hit the Shift + F2 combination, which moves to the previous bookmark

                                            BR

                                            guy038
                                            Hello and THANK YOU for your patience, what you are referring to is what ChatGPT suggested, I think I missed being clear that there is only ONE row under each bookmarked row that should be deleted.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            The Community of users of the Notepad++ text editor.
                                            Powered by NodeBB | Contributors