Community
    • Login

    RegEx selective replace

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    3 Posts 2 Posters 570 Views 1 Watching
    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.
    • Forum BlokeF Offline
      Forum Bloke
      last edited by

      Hi

      I’m hoping someone can help as I’ve been struggling with this all day!

      I have some text files that I want to do some search/replace on but I can’t work out how to reference selectively what I’m trying to replace.

      Taking this as the test:

      IF Thirty THEN
      DRAW("               Twenty, Thirty, Forty, Fifty")
      ENDIF
      

      I would like to replace the Thirty on line that includes DRAW with ‘30’ but not on the IF line. How can I do this please.

      I’m tearing my hair out!

      Many thanks

      Rob

      PeterJonesP 1 Reply Last reply Reply Quote 0
      • PeterJonesP Offline
        PeterJones @Forum Bloke
        last edited by

        @Forum-Bloke ,

        • FIND WHAT = (?-s)(DRAW.*)Thirty
        • REPLACE WITH = $1Replacement
        • MODE = regular expression

        Requires DRAW to come before the Thirty, on the same line.

        • (?-s) = dot wildcard does not match space
        • (DRAW.*) = literal text DRAW followed by 0 or more characters (.*), all put into group#1
        • Thirty = literal text you want to replace
        • $1 = in the replacement, this will include the contents of group#1, which is everything from DRAW (including the DRAW) to just before the Thirty
        • Replacement = the word you want to insert instead of Thirty

        -—
        Official Notepad++ Searching/Regex Docs = https://npp-user-manual.org/docs/searching/#regular-expressions

        1 Reply Last reply Reply Quote 2
        • Forum BlokeF Offline
          Forum Bloke
          last edited by

          @PeterJones said in RegEx selective replace:

          (?-s)(DRAW.*)Thirty

          Many thanks!

          1 Reply Last reply Reply Quote 1

          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

          With your input, this post could be even better 💗

          Register Login
          • First post
            Last post
          The Community of users of the Notepad++ text editor.
          Powered by NodeBB | Contributors