Community
    • Login

    The replacement of the number X with a random number in an interval

    Scheduled Pinned Locked Moved General Discussion
    12 Posts 4 Posters 3.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.
    • David CostacheD
      David Costache
      last edited by David Costache

      I want to know if there exists an expression to replace, for example, the numbers Y which repeat multiple times with random ones in a certain interval. For example, 10-20.
      I do not want, when it finds the Y numbers repeated multiple times, to be still replaced with a number which is the same, but for all to be different.

      To be more clear:

      Find the number 740
      
      Found (500+ lines):
      740
      740
      740
      etc.
      
      Replace the numbers 740 (inside the 10-20 interval):
      11
      14
      19
      
      Terry RT 1 Reply Last reply Reply Quote 0
      • Terry RT
        Terry R @David Costache
        last edited by Terry R

        @david-costache
        This would be a job for a programming language, most of which include random number generators. If looking at the Notepad++ environment PythonScript is one that comes to mind first, although others also exist.

        There is a plugin that performs random string generation but as far as I can see it would not help here.

        Have a search in this forum using words like (python pythonscript, code, program), you will see many pythonscript programs supplied by various forum members which help out in various capacities. Maybe one of those can form the basis of what you need. Someone here might supply something, but I wouldn’t plan on it being so as only a small group of forum members dip their finger in programming. If it could be done with a regular expression many would be happy to lend a hand.

        Terry

        David CostacheD 2 Replies Last reply Reply Quote 1
        • David CostacheD
          David Costache @Terry R
          last edited by

          This post is deleted!
          EkopalypseE 1 Reply Last reply Reply Quote 0
          • David CostacheD
            David Costache @Terry R
            last edited by

            @terry-r Thank you for your response. I will try with the PythonScript plugin.

            1 Reply Last reply Reply Quote 0
            • EkopalypseE
              Ekopalypse @David Costache
              last edited by

              @david-costache

              Random and unique doesn’t fit.
              In your case it is a MUST that each replaced value is a UNIQUE number?

              David CostacheD 1 Reply Last reply Reply Quote 0
              • David CostacheD
                David Costache @Ekopalypse
                last edited by

                @ekopalypse It is not necessary for each replaced to be unique, it may repeat once, twice.

                EkopalypseE 1 Reply Last reply Reply Quote 0
                • EkopalypseE
                  Ekopalypse @David Costache
                  last edited by

                  @david-costache

                  from Npp import editor
                  from random import randint
                  editor.rereplace(r'\b740\b', lambda x: randint(10,20))
                  

                  This would replace a value 740 with a random number from 10 to 20.

                  David CostacheD 1 Reply Last reply Reply Quote 3
                  • David CostacheD
                    David Costache @Ekopalypse
                    last edited by

                    @ekopalypse Thank you a lot for the help! I have never until now used PythonScript, or any other plugin for Notepad++. If you could also tell me succinctly which are the steps on how I could implement the code such that it could do what I want, that would be wonderful.

                    EkopalypseE 1 Reply Last reply Reply Quote 0
                    • EkopalypseE
                      Ekopalypse @David Costache
                      last edited by Ekopalypse

                      @david-costache

                      the steps are

                      • Plugins->PythonScript->New script (save as dialog opens).
                      • Give the script a meaningful name and save it
                      • Copy the code as indicated into the newly created document and save it
                      • Open a file with the content you want to change and run
                      • Plugins->PythonScript->Scripts->YOUR_SCRIPT_NAME

                      If an error occurs, open the console (Plugins->PythonScript->Show Console) and see what it is complaining about.

                      David CostacheD 1 Reply Last reply Reply Quote 4
                      • David CostacheD
                        David Costache @Ekopalypse
                        last edited by David Costache

                        @ekopalypse I am getting this error

                        ModuleNotFoundError: No module named 'Npp'
                        
                        PeterJonesP 1 Reply Last reply Reply Quote 0
                        • PeterJonesP
                          PeterJones @David Costache
                          last edited by PeterJones

                          @david-costache ,

                          Did you try to run your script with your own python.exe? Or did you follow @Ekopalypse’s instructions, where you run it inside Notepad++'s PythonScript plugin, using the PythonScript menus? Because if you ran it with PythonScript and it couldn’t find the Npp module, something is seriously wrong with your PythonScript installation.

                          If you were really running from within PythonScript, please use Plugins > Python Script > Show Console, and give us a screenshot of that, including both the Python initialization and the error in the same screenshot. That might help us to give you ideas on how to fix your environment.

                          Other useful information to help with debug would be a screenshot of Plugins > Python Script > About, and maybe even your ?-menu’s Debug Info copied to clipboard and pasted here.

                          David CostacheD 1 Reply Last reply Reply Quote 4
                          • David CostacheD
                            David Costache @PeterJones
                            last edited by

                            @peterjones Oh, you are perfectly right. I have begun to run the script with my own python.exe
                            It functioned perfectly what @Ekopalypse has told me. Likewise, I have had one more problem, but I have realised what I was doing wrong. When I was saving the script, I was saving it anywhere else other than in *\Notepad++\plugins\PythonScript\scripts and it was not showing up in my PythonScript script menu. I thank the two of you very much.

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