Community
    • Login

    Help - Multiple replacement - Vertical text

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    7 Posts 3 Posters 2.6k 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.
    • Luis Eduardo Martinez RuizL
      Luis Eduardo Martinez Ruiz
      last edited by Luis Eduardo Martinez Ruiz

      Hi guys, I have a problem , I am trying to do a multiple replacement in a text like this:
      <MANUFACTURER_PID>Luis</MANUFACTURER_PID>
      <MANUFACTURER_PID>Rosa</MANUFACTURER_PID>
      <MANUFACTURER_PID>Ernesto</MANUFACTURER_PID>
      <MANUFACTURER_PID>Matias</MANUFACTURER_PID>
      I want to replace those names for numeric codes so I am doing a multiple replacement with the “multiline find and replace” plug in and also regular expresions, looks like this:
      Find Box:
      (<MANUFACTURER_PID>Luis</MANUFACTURER_PID>)|
      (<MANUFACTURER_PID>Rosa</MANUFACTURER_PID>)|
      (<MANUFACTURER_PID>Ernesto</MANUFACTURER_PID>)|
      (<MANUFACTURER_PID>Matias</MANUFACTURER_PID>)|

      Replace Box:
      (?1<MANUFACTURER_PID>07498358092</MANUFACTURER_PID>)
      (?2<MANUFACTURER_PID>07498311593</MANUFACTURER_PID>)
      (?3<MANUFACTURER_PID>07498319913</MANUFACTURER_PID>)
      (?4<MANUFACTURER_PID>07498351833</MANUFACTURER_PID>)

      the problem is that I get empty spaces added after each line replaced, is there any way to avoid that???
      help please!!.
      Note: I need the pipe symbol | because the original lines may not be right after each other (there maybe text in between each line)
      Also it is important to mention that my text is sorted in vertical just like I put it here.

      Scott SumnerS 1 Reply Last reply Reply Quote 0
      • Scott SumnerS
        Scott Sumner @Luis Eduardo Martinez Ruiz
        last edited by

        @Luis-Eduardo-Martinez-Ruiz:

        Your replacement works for me pretty much as you stated it. This may be a key point as to why it isn’t working:

        important to mention that my text is sorted in vertical just like I put it here

        …but I don’t understand what it means.

        I used your data with these exact fields for regex replacement:

        Find what:

        (<MANUFACTURER_PID>Luis</MANUFACTURER_PID>)|(<MANUFACTURER_PID>Rosa</MANUFACTURER_PID>)|(<MANUFACTURER_PID>Ernesto</MANUFACTURER_PID>)|(<MANUFACTURER_PID>Matias</MANUFACTURER_PID>)
        

        Replace with:

        (?1<MANUFACTURER_PID>07498358092</MANUFACTURER_PID>)(?2<MANUFACTURER_PID>07498311593</MANUFACTURER_PID>)(?3<MANUFACTURER_PID>07498319913</MANUFACTURER_PID>)(?4<MANUFACTURER_PID>07498351833</MANUFACTURER_PID>)
        
        1 Reply Last reply Reply Quote 0
        • Luis Eduardo Martinez RuizL
          Luis Eduardo Martinez Ruiz
          last edited by Luis Eduardo Martinez Ruiz

          Hi Scott Sumner, thanks a lot for taking time to see my post, what I mean is that my text is in vertical position like this:
          <MANUFACTURER_PID>Luis</MANUFACTURER_PID>
          <MANUFACTURER_PID>Rosa</MANUFACTURER_PID>
          not like this:

          (<MANUFACTURER_PID>Luis</MANUFACTURER_PID>)|(<MANUFACTURER_PID>Rosa</MANUFACTURER_PID>) etc.

          the replacement works but when I do it I get empty lines in between like this:

          <MANUFACTURER_PID>012345678910</MANUFACTURER_PID>

          <MANUFACTURER_PID>012345678911</MANUFACTURER_PID>

          I cannnot sort my text in a horizontal way like you mentioned because is part of a very large XML file

          Scott SumnerS 1 Reply Last reply Reply Quote 0
          • Scott SumnerS
            Scott Sumner @Luis Eduardo Martinez Ruiz
            last edited by

            @Luis-Eduardo-Martinez-Ruiz

            I did NOT suggest sorting lines…maybe we have a language barrier.

            If I start with these lines:

            <MANUFACTURER_PID>Ernesto</MANUFACTURER_PID>
            <MANUFACTURER_PID>Luis</MANUFACTURER_PID>
            <MANUFACTURER_PID>Matias</MANUFACTURER_PID>
            <MANUFACTURER_PID>Rosa</MANUFACTURER_PID>
            <MANUFACTURER_PID>Matias</MANUFACTURER_PID>
            <MANUFACTURER_PID>Rosa</MANUFACTURER_PID>
            <MANUFACTURER_PID>Matias</MANUFACTURER_PID>
            <MANUFACTURER_PID>Luis</MANUFACTURER_PID>
            <MANUFACTURER_PID>Luis</MANUFACTURER_PID>
            <MANUFACTURER_PID>Rosa</MANUFACTURER_PID>
            <MANUFACTURER_PID>Ernesto</MANUFACTURER_PID>
            <MANUFACTURER_PID>Matias</MANUFACTURER_PID>
            <MANUFACTURER_PID>Rosa</MANUFACTURER_PID>
            <MANUFACTURER_PID>Luis</MANUFACTURER_PID>
            <MANUFACTURER_PID>Rosa</MANUFACTURER_PID>
            <MANUFACTURER_PID>Matias</MANUFACTURER_PID>
            <MANUFACTURER_PID>Luis</MANUFACTURER_PID>
            <MANUFACTURER_PID>Ernesto</MANUFACTURER_PID>
            <MANUFACTURER_PID>Ernesto</MANUFACTURER_PID>
            <MANUFACTURER_PID>Rosa</MANUFACTURER_PID>
            <MANUFACTURER_PID>Ernesto</MANUFACTURER_PID>
            <MANUFACTURER_PID>Ernesto</MANUFACTURER_PID>
            <MANUFACTURER_PID>Luis</MANUFACTURER_PID>
            <MANUFACTURER_PID>Matias</MANUFACTURER_PID>
            

            and do the replacement I suggested above (which isn’t really different from your original one), I get this (which looks correct and has no empty lines):

            Imgur

            So without more information I can’t say what is going wrong for you. :-(

            1 Reply Last reply Reply Quote 0
            • Luis Eduardo Martinez RuizL
              Luis Eduardo Martinez Ruiz
              last edited by

              Hi Scott, thanks again for taking time for my post. I think that I know why we get differet results.
              I am sorting my data in the find and replace boxes also in a vertical way, I have tried what you said and you are correct there are not empty lines added but when I do it my way I get the extra empty lines.

              now let me explain why I go this way. I am working with a very large XML file, it has mmillions of lines. the lines that I want to replace are among many many lines that I don’t want to touch.
              to be clear there are 51200 lines that I want to replace, those are like the ones in my examples. I need to replace them with other 51200 lines that instead of having names like Rosa, Luis, etc. they have numeric codes just like the examples.

              I would go as you say placing the text in the find box like this:
              (<MANUFACTURER_PID>Luis</MANUFACTURER_PID>)|(<MANUFACTURER_PID>Rosa</MANUFACTURER_PID>)| ETC…
              in a horizontal way and doing the same in the same in the replace box like this:
              (?1<MANUFACTURER_PID>07498358092</MANUFACTURER_PID>)(?2<MANUFACTURER_PID>07498311593</MANUFACTURER_PID>)…

              but as I mentioned I have to put in there in the find and also in the replace boxe 51200 pieces of text so I have no way to do that.
              in this forum I am not able to attach anything but I will try to generate links fot the files I am working with so maybe you can take a look.

              thanks a lot

              Scott SumnerS 1 Reply Last reply Reply Quote 0
              • Scott SumnerS
                Scott Sumner @Luis Eduardo Martinez Ruiz
                last edited by

                @Luis-Eduardo-Martinez-Ruiz

                If I’m interpreting you correctly then see if this thread helps you: https://notepad-plus-plus.org/community/topic/14548/help-replacing

                If it doesn’t, post again here…

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

                  Hello, @luis-eduardo-martinez-ruiz, and All,

                  Indeed, Scott gave you the right link to the related discussion to your problem ! But, as this discussion contains many posts and as you could be a bit “lost”, I think that I’m able to build a suitable regex for your needs :-))


                  You said, in your first post :

                  I want to replace those names for numeric codes

                  And you gave an example, with 4 forenames ( I just copied real text ! ) :

                  <MANUFACTURER_PID>Luis</MANUFACTURER_PID>
                  ....
                  <MANUFACTURER_PID>Rosa</MANUFACTURER_PID>
                  ...
                  <MANUFACTURER_PID>Ernesto</MANUFACTURER_PID>
                  ...
                  <MANUFACTURER_PID>Matias</MANUFACTURER_PID>
                  

                  which have to be replaced by the 4 numeric codes ( Again, I just copied real text, not the regex ! ) :

                  <MANUFACTURER_PID>07498358092</MANUFACTURER_PID>
                  ...
                  <MANUFACTURER_PID>07498311593</MANUFACTURER_PID>
                  ...
                  <MANUFACTURER_PID>07498319913</MANUFACTURER_PID>
                  ...
                  <MANUFACTURER_PID>07498351833</MANUFACTURER_PID>
                  

                  So I suppose that you have a specific file which links up these forenames to the numeric codes, and vice-versa. I mean, a file like that :

                  Luis : 07498358092
                  Rosa : 07498311593
                  Ernesto : 07498319913
                  Matias : 07498351833
                  

                  or, may be, like that :

                  07498358092 = Luis
                  07498311593 = Rosa
                  07498319913 = Ernesto
                  07498351833 = Matias
                  

                  Just tell me the structure of this specific file ( that I call the links file ), and we’ll be able to get the right regex S/R, which allows the change of any number of names, possibly repeated, with their respective numeric codes ( even 52000 items ! ) in one step, only :-))

                  Remarks :

                  • ONE condition is mandatory : In this links file, all the names and numeric codes must be UNIQUE !

                  • The order of names, in the initial text, can be completely different than the order they occur, in the links file. No problem !

                  • And, as I said above, some names may be repeated, in the text to be changed. No problem, too !

                  See you later,

                  Best Regards,

                  guy038

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