Community
    • Login

    how to put numbers every two rows?

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    16 Posts 4 Posters 1.3k 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.
    • astrosofistaA
      astrosofista @DimakSerpg
      last edited by astrosofista

      Hi @DimakSerpg

      Concerning your first issue, I would resolve it by means of the following regex:

      Search: (?<=case\(")(\d+)("\):\R[^;]+)\K
      Replace: $0$1
      

      Put the caret at the very beginning of the document, select just the Regular Expression mode and click on Replace All.

      Take care and have fun!

      @Alan-Kilborn beat me, even quite similar regex :)

      PS: Concerning the second issue, though there are ways to accomplish this within Notepad++, I would prefer to script it. It’s very easy.

      DimakSerpgD 1 Reply Last reply Reply Quote 5
      • DimakSerpgD
        DimakSerpg
        last edited by

        It worked, thanks

        1 Reply Last reply Reply Quote 0
        • DimakSerpgD
          DimakSerpg @astrosofista
          last edited by

          @astrosofista i have zero knowledge in scripting :)

          astrosofistaA 1 Reply Last reply Reply Quote 0
          • DimakSerpgD
            DimakSerpg
            last edited by

            Of course i can do something like this, but how to delete numbers between rows?

            				{                  1
            					"label" : "1",
            					"value" : "1"
            				},                 1
            				{                  2
            					"label" : "2",
            					"value" : "2"
            				},                 2
            				{                  3
            					"label" : "3",
            					"value" : "3"
            				},                 3
            				{                  4
            					"label" : "4",
            					"value" : "4"
            				},                 4
            				{                  5
            					"label" : "5",
            					"value" : "5"
            				},                 5
            				{                  6
            					"label" : "6",
            					"value" : "6"
            				},                 6
            				{                  7
            					"label" : "7",
            					"value" : "7"
            				},                 7
            				{                  8
            					"label" : "8",
            					"value" : "8"
            				},                 8
            				{                  9
            					"label" : "9",
            					"value" : "9"
            				},                 9
            				{                  10
            					"label" : "10",
            					"value" : "10"
            				},                 10
            
            astrosofistaA 1 Reply Last reply Reply Quote 2
            • astrosofistaA
              astrosofista @DimakSerpg
              last edited by astrosofista

              @DimakSerpg

              Good try! To delete the unwanted numbers, try this new regex

              Search: (?-s)\{\K.*$|\},\K.*$
              Replace: [leave empty]
              

              Put the caret at the very beginning of the document, select just the Regular Expression mode and click on Replace All.

              Have fun!

              DimakSerpgD 1 Reply Last reply Reply Quote 4
              • DimakSerpgD
                DimakSerpg @astrosofista
                last edited by

                @astrosofista oh nice, thank you man!

                Alan KilbornA 1 Reply Last reply Reply Quote 2
                • Alan KilbornA
                  Alan Kilborn @DimakSerpg
                  last edited by

                  @DimakSerpg

                  Of course i can do something like this, but how to delete numbers between rows?

                  That wasn’t quite the approach I was thinking of with the column editor number insertion stuff. :-)

                  DimakSerpgD 1 Reply Last reply Reply Quote 1
                  • DimakSerpgD
                    DimakSerpg @Alan Kilborn
                    last edited by

                    @Alan-Kilborn was your method easier or more difficult? :)

                    Alan KilbornA 1 Reply Last reply Reply Quote 0
                    • Alan KilbornA
                      Alan Kilborn @DimakSerpg
                      last edited by

                      @DimakSerpg

                      So my method would have been to generate the number list in an empty file, e.g. :

                      1
                      2
                      3
                      4
                      5
                      etc
                      708
                      

                      and then use regex replacement to build the extra text around that.

                      but…it seems that you got where you needed to go…so that’s good!

                      1 Reply Last reply Reply Quote 3
                      • astrosofistaA
                        astrosofista @DimakSerpg
                        last edited by

                        Hi @DimakSerpg, All

                        If the problems you posted here are common in your daily workload, then I would suggest you to learn scripting.

                        Just for the record, the script I spoke about. This demo is in AutoHotkey, but it could be scripted in several other languages. All the text is automatically created and the outcome is placed on the clipboard, ready to be pasted.

                        Output  := ""
                        Num     := 3 ; replace "3" with the correct number -> 708
                        Template = 
                        (join`n
                        				{
                        					"{}" : "{}",
                        					"{}" : "{}"
                        				},
                        
                        )
                        
                        Loop, % Num {
                        	Output .= Format("`t`t`t`t" Template, "label", A_Index, "value", A_Index)
                        }
                        
                        MsgBox, % Clipboard := Output
                        return
                        

                        Output:

                        			{
                        				"label" : "1",
                        				"value" : "1"
                        			},
                        			{
                        				"label" : "2",
                        				"value" : "2"
                        			},
                        			{
                        				"label" : "3",
                        				"value" : "3"
                        			},
                        

                        I hope this simple example will encourage you to learn scripting.

                        1 Reply Last reply Reply Quote 3
                        • wonkawillyW
                          wonkawilly
                          last edited by

                          There is another easy solution without scripting: first you have to join the rows like this:

                          {"label" : "1","value" : "1"	},
                          {"label" : "2","value" : "2"	},
                          {"label" : "3","value" : "3"	},
                          

                          or even better just create a line like this

                          {"label" : "n","value" : "n"	},
                          

                          and than duplicate it as many times as you need

                          {"label" : "","value" : ""	},
                          {"label" : "","value" : ""	},
                          {"label" : "","value" : ""	},
                          {"label" : "","value" : ""	},
                          {"label" : "","value" : ""	},
                          {"label" : "","value" : ""	},
                          

                          Than use the column editor that you will find in Edit menu, to add numbers as you want after label and after value.

                          {"label" : "1","value" : "1"	},
                          {"label" : "2","value" : "2"	},
                          {"label" : "3","value" : "3"	},
                          {"label" : "4","value" : "4"	},
                          {"label" : "5","value" : "5"	},
                          {"label" : "6","value" : "6"	},
                          ...
                          

                          Maybe you can even find a plugin to format back the whole code with new lines and indentations with just two clicks : I think JSTool will make the trick.

                          Or alternatively you can use find and replace to put back the new lines and the indentations.
                          Both ways will work.

                          You can operate with both codes more or less the same way :

                          case("1  "):         thisLayer.font = font1  ;         break;
                          case("2  "):         thisLayer.font = font2  ;         break;
                          case("3  "):         thisLayer.font = font3  ;         break;
                          case("4  "):         thisLayer.font = font4  ;         break;
                          case("5  "):         thisLayer.font = font5  ;         break;
                          case("6  "):         thisLayer.font = font6  ;         break;
                          case("7  "):         thisLayer.font = font7  ;         break;
                          case("8  "):         thisLayer.font = font8  ;         break;
                          case("9  "):         thisLayer.font = font9  ;         break;
                          case("10 "):         thisLayer.font = font10 ;         break;
                          case("11 "):         thisLayer.font = font11 ;         break;
                          case("12 "):         thisLayer.font = font12 ;         break;
                          case("13 "):         thisLayer.font = font13 ;         break;
                          case("14 "):         thisLayer.font = font14 ;         break;
                          case("15 "):         thisLayer.font = font15 ;         break;
                          case("16 "):         thisLayer.font = font16 ;         break;
                          case("17 "):         thisLayer.font = font17 ;         break;
                          case("18 "):         thisLayer.font = font18 ;         break;
                          case("19 "):         thisLayer.font = font19 ;         break;
                          case("20 "):         thisLayer.font = font20 ;         break;
                          case("21 "):         thisLayer.font = font21 ;         break;
                          case("22 "):         thisLayer.font = font22 ;         break;
                          case("23 "):         thisLayer.font = font23 ;         break;
                          case("24 "):         thisLayer.font = font24 ;         break;
                          case("25 "):         thisLayer.font = font25 ;         break;
                          case("26 "):         thisLayer.font = font26 ;         break;
                          case("27 "):         thisLayer.font = font27 ;         break;
                          case("28 "):         thisLayer.font = font28 ;         break;
                          case("29 "):         thisLayer.font = font29 ;         break;
                          case("30 "):         thisLayer.font = font30 ;         break;
                          case("31 "):         thisLayer.font = font31 ;         break;
                          case("32 "):         thisLayer.font = font32 ;         break;
                          case("33 "):         thisLayer.font = font33 ;         break;
                          case("34 "):         thisLayer.font = font34 ;         break;
                          case("35 "):         thisLayer.font = font35 ;         break;
                          case("36 "):         thisLayer.font = font36 ;         break;
                          case("37 "):         thisLayer.font = font37 ;         break;
                          case("38 "):         thisLayer.font = font38 ;         break;
                          case("39 "):         thisLayer.font = font39 ;         break;
                          case("40 "):         thisLayer.font = font40 ;         break;
                          case("41 "):         thisLayer.font = font41 ;         break;
                          case("42 "):         thisLayer.font = font42 ;         break;
                          case("43 "):         thisLayer.font = font43 ;         break;
                          

                          with find and replace you can remove the space after the numbers:

                          case("1"):         thisLayer.font = font1  ;         break;
                          case("2"):         thisLayer.font = font2  ;         break;
                          case("3"):         thisLayer.font = font3  ;         break;
                          case("4"):         thisLayer.font = font4  ;         break;
                          case("5"):         thisLayer.font = font5  ;         break;
                          case("6"):         thisLayer.font = font6  ;         break;
                          case("7"):         thisLayer.font = font7  ;         break;
                          case("8"):         thisLayer.font = font8  ;         break;
                          case("9"):         thisLayer.font = font9  ;         break;
                          case("10"):         thisLayer.font = font10 ;         break;
                          case("11"):         thisLayer.font = font11 ;         break;
                          case("12"):         thisLayer.font = font12 ;         break;
                          case("13"):         thisLayer.font = font13 ;         break;
                          case("14"):         thisLayer.font = font14 ;         break;
                          case("15"):         thisLayer.font = font15 ;         break;
                          case("16"):         thisLayer.font = font16 ;         break;
                          case("17"):         thisLayer.font = font17 ;         break;
                          case("18"):         thisLayer.font = font18 ;         break;
                          case("19"):         thisLayer.font = font19 ;         break;
                          case("20"):         thisLayer.font = font20 ;         break;
                          case("21"):         thisLayer.font = font21 ;         break;
                          case("22"):         thisLayer.font = font22 ;         break;
                          case("23"):         thisLayer.font = font23 ;         break;
                          case("24"):         thisLayer.font = font24 ;         break;
                          case("25"):         thisLayer.font = font25 ;         break;
                          case("26"):         thisLayer.font = font26 ;         break;
                          case("27"):         thisLayer.font = font27 ;         break;
                          case("28"):         thisLayer.font = font28 ;         break;
                          case("29"):         thisLayer.font = font29 ;         break;
                          case("30"):         thisLayer.font = font30 ;         break;
                          case("31"):         thisLayer.font = font31 ;         break;
                          case("32"):         thisLayer.font = font32 ;         break;
                          case("33"):         thisLayer.font = font33 ;         break;
                          case("34"):         thisLayer.font = font34 ;         break;
                          case("35"):         thisLayer.font = font35 ;         break;
                          case("36"):         thisLayer.font = font36 ;         break;
                          case("37"):         thisLayer.font = font37 ;         break;
                          case("38"):         thisLayer.font = font38 ;         break;
                          case("39"):         thisLayer.font = font39 ;         break;
                          
                          

                          Then you can format back the text with Plugins > JSTools > JSFormat

                          {
                          	"label": "789",
                          	"value": "789"
                          },
                          {
                          	"label": "790",
                          	"value": "790"
                          },
                          {
                          	"label": "791",
                          	"value": "791"
                          },
                          {
                          	"label": "792",
                          	"value": "792"
                          },
                          
                          case ("1"):
                          	thisLayer.font = font1;
                          	break;
                          case ("2"):
                          	thisLayer.font = font2;
                          	break;
                          case ("3"):
                          	thisLayer.font = font3;
                          	break;
                          case ("4"):
                          	thisLayer.font = font4;
                          	break;
                          case ("5"):
                          	thisLayer.font = font5;
                          	break;
                          case ("6"):
                          	thisLayer.font = font6;
                          	break;
                          case ("7"):
                          	thisLayer.font = font7;
                          	break;
                          case ("8"):
                          	thisLayer.font = font8;
                          	break;
                          case ("9"):
                          	thisLayer.font = font9;
                          	break;
                          case ("10"):
                          	thisLayer.font = font10;
                          	break;
                          

                          You will get it done in about 30 seconds of job, but remember to recheck the code for mistakes in case you will correct them doing the procedure again or directly by hands. But I don’t think it will be necessary much more hand corrections.

                          Enjoy

                          Alan KilbornA 1 Reply Last reply Reply Quote 3
                          • Alan KilbornA
                            Alan Kilborn @wonkawilly
                            last edited by

                            @wonkawilly

                            Nice posting.
                            That’s the kind of thing I had in mind earlier, but I didn’t elaborate all the details like you did because the OP indicated he already had a solution that worked.
                            Thank you for filling in the gap I left open.

                            wonkawillyW 1 Reply Last reply Reply Quote 1
                            • wonkawillyW
                              wonkawilly @Alan Kilborn
                              last edited by

                              @Alan-Kilborn In my post there is a little error in the row:

                              {"label" : "n","value" : "n"	},
                              

                              the following is the right one

                              {"label" : "","value" : ""	},
                              

                              Explication:
                              Remove the n before duplicating the row. Sorry I couldn’t correct in time directly into the original post because I had just 180 seconds to make corrections but I hadn’t enough time. Sorry again

                              Alan KilbornA 1 Reply Last reply Reply Quote 2
                              • Alan KilbornA
                                Alan Kilborn @wonkawilly
                                last edited by

                                @wonkawilly said in how to put numbers every two rows?:

                                there is a little error in the row

                                It’s OK. BTW I didn’t go step by step through to check for accuracy.
                                It’s enough that you very clearly showed the technique, enough to get someone started down that same path.

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