Community
    • Login

    How to delete text after the 2nd specific character in each row

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    16 Posts 5 Posters 1.2k 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.
    • EkopalypseE
      Ekopalypse @Alan Kilborn
      last edited by

      @Alan-Kilborn

      thx for clarification, sounds reasonable.

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

        Hi, @crimson-virtuoso, @alan-kilborn, @ekopalypse and All,

        Alan, very informative post, indeed ! So, If I correctly understand what you said, this means that :

        • If the test, on present line 1816 of the FindReplaceDlg.cpp file, for a possible change of selection range, would have been absent, the \K regex feature would work, while doing a single replace operation, with the Replace button ?

        I backup your post’s link for future reference, if any question regarding the weird behavior of the \K feature ;-))

        Best Regards,

        guy0038

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

          @guy038

          Well, it wouldn’t be as simple as removing the indicated line, as that would break other functionality.
          Truly, though, I haven’t thought too much about it.
          While I can kinda read C++, and I can use the Visual Studio debugger to step through its code, it isn’t my strong suit.
          Hmm, maybe I don’t have a “strong suit”. (Is that a known expression?)
          I leave it to others, but I’m fairly confident in my analysis presented earlier about this; I spent a bit of time single-stepping through it and looking at it.

          1 Reply Last reply Reply Quote 2
          • Thomas 2020T
            Thomas 2020 @Ekopalypse
            last edited by

            @Ekopalypse said in How to delete text after the 2nd specific character in each row:

            You can use find to jump through the matches but you cannot use
            replace while doing this.

            I can’t think of any better.
            It would be better to replace “^” with “\A”.

            ^((\w+ \| ){2})(.+)
            \1
            
            EkopalypseE 1 Reply Last reply Reply Quote 0
            • EkopalypseE
              Ekopalypse @Thomas 2020
              last edited by

              @Pan-Jan said in How to delete text after the 2nd specific character in each row:

              I can’t think of any better.
              It would be better to replace “^” with “\A”.

              Why do you think so? What is the advantage of using \A instead of ^ in this case?

              1 Reply Last reply Reply Quote 0
              • Thomas 2020T
                Thomas 2020
                last edited by

                If I wanted to swap lines one by one
                the pattern works from the cursor position.

                EkopalypseE 1 Reply Last reply Reply Quote 0
                • EkopalypseE
                  Ekopalypse @Thomas 2020
                  last edited by

                  @Pan-Jan

                  the pattern works from the cursor position.

                  that is correct but this means also that it can match the wrong parts.
                  Assume the following ( | this should be the caret)

                  string1 | stri|ng2 | string3 | string5744

                  in that case it would handle string5744 as the match and NOT string3 | string5744

                  1 Reply Last reply Reply Quote 1
                  • Thomas 2020T
                    Thomas 2020 @Crimson Virtuoso
                    last edited by

                    @Crimson-Virtuoso said in How to delete text after the 2nd specific character in each row:

                    string1 | string2 | string3 | string5744
                    string4001 | string2668 | string1234 | string496
                    string201 | string202 | string203 | string489

                    in this example there are 3 x |

                    EkopalypseE 1 Reply Last reply Reply Quote 0
                    • EkopalypseE
                      Ekopalypse @Thomas 2020
                      last edited by

                      @Pan-Jan

                      I’m sorry, but I think I’m out.
                      If you think you’re gonna get anywhere with the way you communicate, good luck with that.
                      I won’t waste any more time trying to figure out what you might mean.

                      1 Reply Last reply Reply Quote 1
                      • Thomas 2020T
                        Thomas 2020
                        last edited by

                        Schowek03.jpg

                        1 Reply Last reply Reply Quote -1
                        • Thomas 2020T
                          Thomas 2020
                          last edited by

                          Schowek04.jpg

                          ^((\w+ \| ){2})(.+)
                          

                          can be replaced individually

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