Community
    • Login

    need help for batch editing

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    3 Posts 2 Posters 2.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.
    • Mambiteño Juan-pabloM
      Mambiteño Juan-pablo
      last edited by

      Hello, i’d like to edit a number that is located in a particular position in a text. i’d like to edit the number located after the first 2 commas in the text below
      below you can see lines that correspond to objects carateristics in a game. i’d like to edit in a row the number that is in number 2000 position. i know i could use in that particular case the search and replace option. but in some cases that number doesn’t correspond to 2000, but to another number. so i’d like to edit the number located in each line after the first 2 commas. is this possible

      plage, plage, 2000, 12582912, 0, 275.112, 43.6829, 0.57576, 1568.3, 1491.7, 29.7886, 921.708, 767.69, 15.1822, 970.818, null
      plage0, plage, 2000, 12582912, 0, -470.48, -690.498, -16.542, 470.48, 690.498, 16.542, 0.0, 0.00012207, 4.76837e-007, 835.711, null
      plage1, plage, 2000, 12582912, 0, -456.201, -769.794, -15.5455, 456.201, 769.794, 15.5455, 0.0, 0.0, -4.76837e-007, 894.955, null
      plage2, plage, 2000, 12582912, 0, -788.48, -1012.48, -16.8566, 788.48, 1012.48, 16.8566, 0.0, 0.0, -4.76837e-007, 1283.39, null
      plage3, plage, 2000, 12582912, 0, -716.8, -680.96, -16.7993, 716.8, 680.96, 16.7993, 0.0, 0.0, 0.0, 988.833, null
      plage4, plage, 2000, 12582912, 0, -788.48, -430.08, -17.4505, 788.48, 430.08, 17.4505, 0.0, -0.000244141, 4.76837e-007, 898.317, null
      plage5, plage, 2000, 12582912, 0, -788.48, -286.72, -16.8566, 788.48, 286.72, 16.8566, 0.0, 0.0, -4.76837e-007, 839.162, null
      plage6, plage, 2000, 12582912, 0, -788.48, -756.566, -16.8566, 788.48, 756.565, 16.8566, 0.0, 0.0, -4.76837e-007, 1092.88, null
      plage7, plage, 2000, 12582912, 0, -415.092, -669.848, -2.35125, 415.092, 669.848, 2.35125, 0.0, 0.0, 0.0, 788.038, null
      plage8, plage, 2000, 12582912, 0, -323.538, -698.055, -1.83764, 323.538, 698.055, 1.83764, 0.0, 0.0, 0.0, 769.39, null
      plage9, plage, 2000, 12582912, 0, -344.821, -653.995, -2.31168, 344.821, 653.995, 2.31168, 0.0, 0.0, 0.0, 739.335, null
      plage10, plage, 2000, 12582912, 0, -414.529, -697.8, -3.58363, 414.53, 697.8, 3.58363, 0.0, 0.00012207, 0.0, 811.648, null
      plage11, plage, 2000, 12582912, 0, -429.283, -679.338, -4.19869, 429.282, 679.338, 4.1987, 0.0, 0.0, 0.0, 803.618, null
      plage12, plage, 2000, 12582912, 0, -650.986, -725.165, -29.6797, 650.987, 725.165, 29.6797, 0.0, 0.0, -9.53674e-007, 974.951, null

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

        Hello Mambiteño Juan-pablo,

        Very easy, indeed !

        The part of your list, below, is well-delimited, by commas, in 13 rows of 16 columns each !

        plage, plage, 2000, 12582912, 0, 275.112, 43.6829, 0.57576, 1568.3, 1491.7, 29.7886, 921.708, 767.69, 15.1822, 970.818, null
        plage0, plage, 2000, 12582912, 0, -470.48, -690.498, -16.542, 470.48, 690.498, 16.542, 0.0, 0.00012207, 4.76837e-007, 835.711, null
        plage1, plage, 2000, 12582912, 0, -456.201, -769.794, -15.5455, 456.201, 769.794, 15.5455, 0.0, 0.0, -4.76837e-007, 894.955, null
        plage2, plage, 2000, 12582912, 0, -788.48, -1012.48, -16.8566, 788.48, 1012.48, 16.8566, 0.0, 0.0, -4.76837e-007, 1283.39, null
        plage3, plage, 2000, 12582912, 0, -716.8, -680.96, -16.7993, 716.8, 680.96, 16.7993, 0.0, 0.0, 0.0, 988.833, null
        plage4, plage, 2000, 12582912, 0, -788.48, -430.08, -17.4505, 788.48, 430.08, 17.4505, 0.0, -0.000244141, 4.76837e-007, 898.317, null
        plage5, plage, 2000, 12582912, 0, -788.48, -286.72, -16.8566, 788.48, 286.72, 16.8566, 0.0, 0.0, -4.76837e-007, 839.162, null
        plage6, plage, 2000, 12582912, 0, -788.48, -756.566, -16.8566, 788.48, 756.565, 16.8566, 0.0, 0.0, -4.76837e-007, 1092.88, null
        plage7, plage, 2000, 12582912, 0, -415.092, -669.848, -2.35125, 415.092, 669.848, 2.35125, 0.0, 0.0, 0.0, 788.038, null
        plage8, plage, 2000, 12582912, 0, -323.538, -698.055, -1.83764, 323.538, 698.055, 1.83764, 0.0, 0.0, 0.0, 769.39, null
        plage9, plage, 2000, 12582912, 0, -344.821, -653.995, -2.31168, 344.821, 653.995, 2.31168, 0.0, 0.0, 0.0, 739.335, null
        plage10, plage, 2000, 12582912, 0, -414.529, -697.8, -3.58363, 414.53, 697.8, 3.58363, 0.0, 0.00012207, 0.0, 811.648, null
        plage11, plage, 2000, 12582912, 0, -429.283, -679.338, -4.19869, 429.282, 679.338, 4.1987, 0.0, 0.0, 0.0, 803.618, null
        plage12, plage, 2000, 12582912, 0, -650.986, -725.165, -29.6797, 650.987, 725.165, 29.6797, 0.0, 0.0, -9.53674e-007, 974.951, null
        

        So, the general form to catch any text, without leading blank characters, located in the column N, is, simply :

        SEARCH : (?-s)^(.*?,){N-1}\h*\K[^,\r\n]+

        IMPORTANT :

        • Of course, you need to select the Regular expression search mode

        • In the regex, replace the generic form N-1 by a REAL number. For instance, if you would like to reach the 13th column, you’ll replace the form N- 1 with the number 12 ! So, in your case, you need to type the regex (?-s)^(.*?,){2}\h*\K[^,\r\n]+, in order to catch the number 2000 of the third column !

        Notes :

        • To begin, the (?-s) modifier, ensure that the dot symbol matches standard characters, only, even if you previously checked the . matches newline option !

        • Then, the zero-length assertion ^ represents the very beginning of any line

        • The syntax (.*?,){N-1} represents any text, after the beginning of a line, without commas, till an ending comma, repeated N-1 times

        • The \h* stands for possible horizontal blank characters : Space ( \x20 ), Tabulation (\t) or No-Break space ( \xa0 ), leading the column N

        • The \K form reset the regex engine, so that everything previously matched is forgotten. So the regex engine position is, now, located just before the first non-blank character of column N

        • Finally, the [^,\r\n]+ is a negative class of characters which stands for any non null range of characters, different from a comma and from the EOL characters \r or \n

        => Therefore the final match, on each line, is, only the whole text of column N, without possible leading blank characters and without the ending comma or without the EOL characters, if column 16 is chosen !

        Et voilà !

        Best regards,

        guy038

        1 Reply Last reply Reply Quote 0
        • Mambiteño Juan-pabloM
          Mambiteño Juan-pablo
          last edited by

          ok, merci/thanks

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