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 @guy038
      last edited by dr ramaanand

      @Antheds-Kennel Please post both your exact input and output, then we can give you a perfect regular expression to get what you want. Please don’t forget to use the </> button (you can see that above the box that you type in, on the line that begins with “B I H …” and so on) to mark example text as “code” so that characters don’t get changed by the forum

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

        @Antheds-Kennel My guess right now is to use (#STNEW:_TEST-\d+.*?)\R? in the Find field with $1 in the Replace field with the Regular expression mode ticked/selected. That will get rid of the line just below the line beginning with #STNEW:_TEST- but you must let us know what other lines there are in your original file which you want to keep (or else they will also get deleted)

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

          @Antheds-Kennel To find just just one line after the #STNEW:_TEST- string, 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-)

          dr ramaanandD 2 Replies Last reply Reply Quote 0
          • Antheds KennelA
            Antheds Kennel
            last edited by Antheds Kennel

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

            $1

            Hello again, I have uploaded a picture showing before and after with the code you gave first.
            https://ibb.co/W51vDPT

            PeterJonesP 2 Replies Last reply Reply Quote 0
            • guy038G
              guy038
              last edited by guy038

              Hello, @antheds-kennel ,

              Globally, my regex S/R simply keep all the odd lines et delete all the even lines !

              But, looking at your picture, I’m wondering :

              May be, you want to delete the lines 2, 6 and 10, only ? So, each line which is right after a bookmarked line, throughout the end of file ?

              BR

              guy038

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

                @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.

                Antheds KennelA 1 Reply Last reply Reply Quote 1
                • 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
                                            • First post
                                              Last post
                                            The Community of users of the Notepad++ text editor.
                                            Powered by NodeBB | Contributors