Community
    • Login

    Notepad++

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    3 Posts 3 Posters 690 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.
    • ravivarma kvR Offline
      ravivarma kv
      last edited by

      Hi.
      I have the data as below:

           2433 George has a pillow.
      

      **nothing new
      **all the bad news
      What is happening.
      13984 good to know
      Adam knows everything
      **not in a good way
      12 | new to Columbia
      **im in a mood

      I have to merge the line beginning with space with the following lines that do not begin with spaces.
      Expected result: (in 3 lines)
      2433 George has a pillow.nothing newall the bad newsWhat is happening.
      13984 good to knowAdam knows everythingnot in a good way
      12 | new to Columbia
      im in a mood

      Can anyone please help me how to execute this in Notepad++

      1 Reply Last reply Reply Quote 0
      • Terry RT Offline
        Terry R
        last edited by Terry R

        @ravivarma-kv said in Notepad++:

        I have to merge the line beginning with space with the following lines that do not begin with spaces.

        This is a quick solution, however not entrely elegant as it will need running multiple times until no more changes occur.

        It works on the premise that we look for a line with a space at the start, then if the following line does not have a space at the start it will merge both lines. By repeatedly running it it will grow the line with a space at the front by appending a “non-space” line at the rear.

        Hopefully you know how regexes work. So under the Replace Menu.
        Find What:^(\s.+)\R(^[^ ])
        Replace With:\1\2
        Set search mode as “regular expression” and Wrap around ticked. Click on the “Replace All”, do this multiple time until the Replace function returns “0 occurances were replaced”.

        Terry

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

          Hello, @ravivarma-kv, @terry-r and All,

          I found out a simple regex, which needs to be executed one time, only ! I just assume, as Terry did, that pure blank lines are deleted, as well !

          So, given, for instance, this sample text below :

           1st line with 1 LEADING space
          This is
          a text
          which does
          NOT have any
          LEADING space
          
           2nd line with 1 LEADING space
          A single line WITHOUT leading space
           3rd line with 1 LEADING space
          2nd multi-lines text
          with NO
          Leading space
          
           4th line with 1 LEADING space
             1st line with 3 LEADING space
           5th line with 1 LEADING space
          
          
           6th line with 1 LEADING space
          
          
          
          
          3rd multi-lines text
          WITHOUT any
          leading space
          
          
           A last line with 1 LEADING space
          This is a
          very long
          multi-lines text
          with
          NO leading
          space
          for all
          the
          lines !
          

          Use the following regex S/R :

          SEARCH \R(?=(\x20|\z)|)

          REPLACE ?1$0

          Of course, select the Regex expression search mode. You should get the expected text :

           1st line with 1 LEADING spaceThis isa textwhich doesNOT have anyLEADING space
           2nd line with 1 LEADING spaceA single line WITHOUT leading space
           3rd line with 1 LEADING space2nd multi-lines textwith NOLeading space
           4th line with 1 LEADING space
             1st line with 3 LEADING space
           5th line with 1 LEADING space
           6th line with 1 LEADING space3rd multi-lines textWITHOUT anyleading space
           A last line with 1 LEADING spaceThis is avery longmulti-lines textwithNO leadingspacefor allthelines !
          

          I verified that I got the same output, using Terry’s regex solution ;-))


          Notes :

          • This regex searches for any kind of EOL characters, followed by, either :

            • A space character or the very end of file ( => Group 1 exists )

            • Any kind of character ( other standard char or EOL char, due the empty alternative |)

          • Due to the conditional replacement syntax ?1$0, this matched EOL character is rewritten ( $0 = Whole match ) only if  the group 1 exists. In all the other cases, it is just deleted


          Remark :

          If you prefer that the joined lines are separated with a space character, we need to distinguish between the standard characters, other than a space char, beginning the subsequent lines and any other character. So, use, instead, the followed regex S/R :

          SEARCH (?-s)\R(?=(\x20|\z)|(.)|)

          REPLACE (?1$0)(?2\x20)

          This time, due to the (?2\x20) conditional replacement, the matched EOL char is replaced with a single space character

          And you’ll get the text :

           1st line with 1 LEADING space This is a text which does NOT have any LEADING space
           2nd line with 1 LEADING space A single line WITHOUT leading space
           3rd line with 1 LEADING space 2nd multi-lines text with NO Leading space
           4th line with 1 LEADING space
             1st line with 3 LEADING space
           5th line with 1 LEADING space
           6th line with 1 LEADING space 3rd multi-lines text WITHOUT any leading space
           A last line with 1 LEADING space This is a very long multi-lines text with NO leading space for all the lines !
          

          Best Regards,

          guy038

          1 Reply Last reply Reply Quote 2

          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