Community

    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

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

    General Discussion
    4
    12
    628
    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 Costache
      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 R 1 Reply Last reply Reply Quote 0
      • Terry R
        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 Costache 2 Replies Last reply Reply Quote 1
        • David Costache
          David Costache @Terry R last edited by

          This post is deleted!
          Ekopalypse 1 Reply Last reply Reply Quote 0
          • David Costache
            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
            • Ekopalypse
              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 Costache 1 Reply Last reply Reply Quote 0
              • David Costache
                David Costache @Ekopalypse last edited by

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

                Ekopalypse 1 Reply Last reply Reply Quote 0
                • Ekopalypse
                  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 Costache 1 Reply Last reply Reply Quote 3
                  • David Costache
                    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.

                    Ekopalypse 1 Reply Last reply Reply Quote 0
                    • Ekopalypse
                      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 Costache 1 Reply Last reply Reply Quote 4
                      • David Costache
                        David Costache @Ekopalypse last edited by David Costache

                        @ekopalypse I am getting this error

                        ModuleNotFoundError: No module named 'Npp'
                        
                        PeterJones 1 Reply Last reply Reply Quote 0
                        • PeterJones
                          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 Costache 1 Reply Last reply Reply Quote 4
                          • David Costache
                            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
                            Copyright © 2014 NodeBB Forums | Contributors