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.1k 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

      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