• Login
Community
  • Login

How do I add text to each line?

Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
6 Posts 4 Posters 494 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.
  • S
    Sarah Duong
    last edited by Jul 7, 2020, 12:21 PM

    I have the following text :

    ernestobaltar@yahoo.com:Golden-Ball
    amaury.tenaille@epfedu.fr:SilverBall
    Inspirit@staplesnet.us:Copper_Ball
    Matthewsk@mail.montclair.edu:Encourage
    sissleib6930@stu.howardcollege.edu:Not-Engaged
    

    I want to get result :

    ernestobaltar@yahoo.com:Golden-Ball:Email.yahoo.com
    amaury.tenaille@epfedu.fr:SilverBall:Email.epfedu.fr
    Inspirit@staplesnet.us:Copper_Ball:Email.staplesnet.us
    Matthewsk@mail.montclair.edu:Encourage:Email.mail.montclair.edu
    sissleib6930@stu.howardcollege.edu:Not-Engaged:Email.stu.howardcollege.edu
    

    How do I do?

    P 1 Reply Last reply Jul 7, 2020, 12:56 PM Reply Quote 0
    • P
      PeterJones @Sarah Duong
      last edited by PeterJones Jul 7, 2020, 12:56 PM Jul 7, 2020, 12:56 PM

      @Sarah-Duong ,

      We’ve been through this before. We have shown you plenty of regex that deal with your colon-separated files. Try generalizing one of those approaches (I will give you a hint: start with @guy038’s most recent post in your previous question).

      If what you tried doesn’t work, show us what you tried, and explain why you thought it would work. We will then be able to help you learn what you are missing.

      This forum is not a place where we do your job (or your homework) for you. We have explained plenty of times what the various portions of our regexes do. We have pointed you to the documentation plenty of times. You have complained that you don’t have the time to read the documentation… but somehow, you have the time to come here with every new situation with these colon-files, and then the time to wait for answers, and then the time to argue with us when we try to get you to make an effort. Honestly, if it’s not important enough to you to read some documentation, why should it be important enough to us to do it for you?

      Show some effort, and you will get good answers. If you refuse to show effort, well, then, good luck.

      M 1 Reply Last reply Jul 14, 2020, 11:00 AM Reply Quote 2
      • G
        guy038
        last edited by guy038 Jul 7, 2020, 1:51 PM Jul 7, 2020, 1:35 PM

        Hello, @sarah-duong, and All

        I was about to give you the full solution to your problem, when I saw the @peterjones’s answer. And I must admit that he’s right about it !


        So let me show you how to guess the right solution as your goal is, simply, a line substitution of some parts of current line !

        You said that you have, for instance, this last line of text :

        sissleib6930@stu.howardcollege.edu:Not-Engaged
        

        and that you want it to be changed as :

        sissleib6930@stu.howardcollege.edu:Not-Engaged:Email.stu.howardcollege.edu
        

        OK ! So, let’s try to decompose, both the initial and the expected lines, inserting some space chars for a best identification of the different parts of your text :

        INITIAL  :    sissleib6930    @    stu.howardcollege.edu    :    Not-Engaged
        EXPECTED :    sissleib6930    @    stu.howardcollege.edu    :    Not-Engaged    :Email.    stu.howardcollege.edu
        

        What do we see ?

        • Firstly, the initial line must be rewritten as is

        • Secondly, the literal string :Email. must be added at the end of current line

        • Thirdly, the site address, located after the @ symbol and before the : symbol must be added, too, after the literal string :Email.


        Now, it should be easy enough to you to build up the correct regex S/R to perform such modifications !

        You may find some first help, reading this part of the N++ official documentation :

        https://npp-user-manual.org/docs/searching/#regular-expressions


        I can assure you that my complete solution, already found, respects exactly the scheme described above !

        This is not surprising because there can only be one valid interpretation, though there can be several regex valid syntaxes, of course !

        Best Regards

        guy038

        M 1 Reply Last reply Jul 14, 2020, 11:04 AM Reply Quote 1
        • M
          Melad Eissa @PeterJones
          last edited by Jul 14, 2020, 11:00 AM

          @PeterJones You have the right to not answer my question. And I have the right to ask questions in this forum. Please tell me what I did wrong something? You see you say these things is very redundant, if I use multiple accounts to log multiple topic? You can check that? I do not understand my problem. You are trying to impose someone else? I do not know, I asked. And obviously I did not post one question 2 times. All content is different I clearly asked.
          If you feel my question is beyond the ability, you can ignore it, or support others. I not only ask you to support me. For example in this topic, I do not understand what guy038 said, I also complain about things? Looking back the way your show, you have properly? 1 again and you tell me, I do something wrong?

          1 Reply Last reply Reply Quote 0
          • M
            Melad Eissa @guy038
            last edited by Jul 14, 2020, 11:04 AM

            @guy038 Perhaps it is only for those who know how to build one regex. For me, it’s not. Anyway, thank you for answer.

            1 Reply Last reply Reply Quote 0
            • G
              guy038
              last edited by guy038 Nov 19, 2022, 1:56 AM Jul 14, 2020, 4:24 PM

              Hi, @melad-eissa,

              In my previous post, I give an example of the modifications needed :

              INITIAL  :    sissleib6930    @    stu.howardcollege.edu    :    Not-Engaged
              EXPECTED :    sissleib6930    @    stu.howardcollege.edu    :    Not-Engaged    :Email.    stu.howardcollege.edu
              

              Seemingly, we need the part between the @ and the : chars because this part has to be re- written at the end of line, too

              However, the part before the @ char does not change at all. So we can represent the goal as below ( note that Space chars are irrelevant )

                                                 The OVERALL match = $0
                                       /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\
              INITIAL  Text            @    stu.howardcollege.edu    :    Not-Engaged
              EXPECTED Text            @    stu.howardcollege.edu    :    Not-Engaged    :Email.    stu.howardcollege.edu
                                            \___________________/                        \_____/    \___________________/
                                                  Group 1                                String        Repeated Group 1
              
              SEARCH      regex        @  (         .+            )  :       .+
              
              REPLACEMENT regex                            $0                            :Email.             \1
              

              Now, the exact syntax of this regex S/R is rather obvious :

              SEARCH (?-s)@(.+):.+

              REPLACE $0:Email.\1

              And will change the initial text :

              ernestobaltar@yahoo.com:Golden-Ball
              amaury.tenaille@epfedu.fr:SilverBall
              Inspirit@staplesnet.us:Copper_Ball
              Matthewsk@mail.montclair.edu:Encourage
              sissleib6930@stu.howardcollege.edu:Not-Engaged
              

              into the expected text :

              ernestobaltar@yahoo.com:Golden-Ball:Email.yahoo.com
              amaury.tenaille@epfedu.fr:SilverBall:Email.epfedu.fr
              Inspirit@staplesnet.us:Copper_Ball:Email.staplesnet.us
              Matthewsk@mail.montclair.edu:Encourage:Email.mail.montclair.edu
              sissleib6930@stu.howardcollege.edu:Not-Engaged:Email.stu.howardcollege.edu
              

              Notes :

              • In the search regex :

                • First, the (?-s) ensures that any regex symbol . will match a single standard character, only and not EOL chars

                • Then the part @(.+): searches for the @ character followed with a non-null range of chars till a colon :. Note that this range is stored as group 1 because of the parentheses

                • The final part .+ represents the characters after the colon char of each line

              • In the replacement regex :

                • We first insert the overall pattern $0. So, everything between the @ char and the end of current line

                • Then, we write the literal string :Email.

                -Finally, we re- write the contents of Group 1, so the name of each site, thanks to the \1 syntax

              Best Regards,

              guy038

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