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.
    • guy038G
      guy038
      last edited by guy038

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

      OK… So, let’s suppose that your INPUT text is :

      Line 1
      Line 2
      Line 3
      Line 4
      Line 5
      Line 6
      Line 7
      Line 8
      ...
      

      You would like this OUTPUT, wouldn’t you ?

      Line 1
      Line 3
      Line 5
      Line 7
      ...
      

      If this correct, use the method that I gave in the first part of my previous post, regarding the search/replacement and, simply, change the FIND and REPLACE zones by :

      FIND (?-s)^(.+\R).+\R?

      REPLACE $1

      Do not forget to tick the Wrap around option and to select the Regular expression search mode !

      BR

      guy038

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