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 4.5k Views 2 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.
    • David CostacheD Offline
      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 Offline
        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 Offline
          David Costache @Terry R
          last edited by

          This post is deleted!
          EkopalypseE 1 Reply Last reply Reply Quote 0
          • David CostacheD Offline
            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 Offline
              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 Offline
                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 Offline
                  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 Offline
                    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 Offline
                      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 Offline
                        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 Offline
                          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 Offline
                            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

                            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