Community
    • Login

    moving year in a date from the end to the front.

    Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
    27 Posts 7 Posters 2.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.
    • Vegard JohansenV
      Vegard Johansen @gerdb42
      last edited by Vegard Johansen

      @gerdb42 Hello again, I have another problem. in a large document i have some lines like this: “-4 497” and like this: “17 787” i want to remove the space? do you know how?

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

        Hello, @Vegard-Johansen, @gerdb42, @alan-kilborn, @wonkawilly and All,

        I think that a correct answer could be :

        • SEARCH (?<=\d)\x20+(?=\d)

        • REPLACE Leave EMPTY

        Best Regards,

        guy038

        Vegard JohansenV 1 Reply Last reply Reply Quote 1
        • Vegard JohansenV
          Vegard Johansen @guy038
          last edited by

          @guy038 Im sorry but i didnt get that to work :(

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

            @Vegard-Johansen

            Did you make sure Search Mode was set to Regular expression?

            Maybe show what you did here.

            Vegard JohansenV 1 Reply Last reply Reply Quote 0
            • Vegard JohansenV
              Vegard Johansen @Alan Kilborn
              last edited by

              @Alan-Kilborn Hello

              I have a large document that look like this:

              “120000” “various” “646958” “20220323” “12” “firstname lastname” “-4 497” “20220407” “646958”

              And i want to remove the space in: “-4 497”

              Paul WormerP 1 Reply Last reply Reply Quote 0
              • Paul WormerP
                Paul Wormer @Vegard Johansen
                last edited by Paul Wormer

                @Vegard-Johansen Are the double quotes part of your input? Or did you put them in as a clarification of your question?

                In general, it is clearest and easiest when you cut and paste the relevant part of your actual input into a codeblock (triggered by </>).

                Vegard JohansenV 1 Reply Last reply Reply Quote 1
                • Vegard JohansenV
                  Vegard Johansen @Paul Wormer
                  last edited by

                  @Paul-Wormer Hello

                  Its part of the input :)

                  Paul WormerP 1 Reply Last reply Reply Quote 0
                  • Paul WormerP
                    Paul Wormer @Vegard Johansen
                    last edited by

                    @Vegard-Johansen

                    Find: "(-?\d+)\x20(\d+)"   Replace:  "\1\2"
                    
                    Vegard JohansenV 1 Reply Last reply Reply Quote 1
                    • Vegard JohansenV
                      Vegard Johansen @Paul Wormer
                      last edited by

                      @Paul-Wormer did not work :( maybe i do something wrong :(

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

                        Hello, @Vegard-Johansen, @gerdb42, @alan-kilborn, @wonkawilly, @paul-wormer and All,

                        May be I should have given more details on my regex S/R !


                        So :

                        • Start N++ and open your document

                        • Open the Replace dialog ( Ctrl + H )

                        • Uncheck all box options

                        • Enter (?<=\d)\x20+(?=\d) in the Find what : zone

                        • Verify that the Replace with : zone is EMPTY

                        • Check the Wrap around box

                        • Select the Regular expression search mode

                        • Click on the Replace All button

                        => All the Space characters, which exist within numbers, should have disappeared !

                        • Save the changes

                        Best Regards,

                        guy038

                        Vegard JohansenV 1 Reply Last reply Reply Quote 2
                        • Vegard JohansenV
                          Vegard Johansen @guy038
                          last edited by

                          @guy038 said in moving year in a date from the end to the front.:

                          (?<=\d)\x20+(?=\d)

                          sorry but i cant understand what im doing wrong… But i cant get it to work :I

                          PeterJonesP 1 Reply Last reply Reply Quote 0
                          • Paul WormerP
                            Paul Wormer @Vegard Johansen
                            last edited by Paul Wormer

                            @Vegard-Johansen Did you include the double quotes in both the Find expression and the Replace expression? Did you have exactly one space between the digits? Did you check the regex mode box?

                            My regex is a sort of brute force solution, I capture quotes and digits before and after a single space and copy them without a space in between them. @guy038 has a more sophisticated solution. He matches one (or more) space(s) that are surrounded by one digit on the left and one digit on the right and replaces the matching space(s) by an empty string.

                            However, both methods work. I have tried them both.

                            1 Reply Last reply Reply Quote 1
                            • PeterJonesP
                              PeterJones @Vegard Johansen
                              last edited by

                              @Vegard-Johansen said in moving year in a date from the end to the front.:

                              i cant understand what im doing wrong

                              Could you give us a screenshot of your “Replace” dialog when you’re trying to use one of those regular expressions? We can probably figure out what setting you forgot to include.

                              Vegard JohansenV 1 Reply Last reply Reply Quote 0
                              • Vegard JohansenV
                                Vegard Johansen @PeterJones
                                last edited by

                                @PeterJones @guy038 replace.jpg

                                PeterJonesP 1 Reply Last reply Reply Quote 0
                                • PeterJonesP
                                  PeterJones @Vegard Johansen
                                  last edited by PeterJones

                                  @Vegard-Johansen ,

                                  Your Replace dialog looked right, so I went to your original post and (using my moderator powers) looked at the text you typed rather than what the forum rendered. When I copied from there and pasted into Notepad++, I saw
                                  535477dc-b5fe-4be0-adb7-cb552a2f1bec-image.png

                                  Please notice that the character between the -4 and the 497 is not a space; it is the special character NBSP (Non-breaking space). Because you said “i want to remove the space”, and did not accurately tell us what character was between there, we could not derive a regex that works. The \x20 in the regular expression only applies to the normal ASCII space character, not to a tab or to a NBSP or to any other space-like character.

                                  If your Notepad++ is not showing the NBSP symbol, then make sure you are on a relatively-recent Notepad++ version (v8.5 or newer), and make sure that View > Show Symbol > Show Non-printing Characters is turned on (has a checkmark next to it):
                                  563035f8-cebc-4d8d-a28c-d92d99133d9c-image.png

                                  But back to your question:

                                  Since we now know it’s a non-breaking space, we can change @guy038’s regular expression to (?<=\d)\xA0+(?=\d), and that will match just if there’s a non-breaking space between those characters. If there might be any horizontal space (real space, tab, nbsp, or others), then use (?<=\d)\h+(?=\d) instead, to make it match on any horizontal space.

                                  This shows the importance of knowing (and sharing) what the actual characters are.

                                  Paul WormerP Vegard JohansenV 2 Replies Last reply Reply Quote 3
                                  • Paul WormerP
                                    Paul Wormer @PeterJones
                                    last edited by

                                    @PeterJones Good catch! I started to suspect something like that. Would we have seen it if he had cut and pasted his input into a code block?

                                    PeterJonesP 1 Reply Last reply Reply Quote 1
                                    • PeterJonesP
                                      PeterJones @Paul Wormer
                                      last edited by PeterJones

                                      @Paul-Wormer ,

                                      Would we have seen it if he had cut and pasted his input into a code block?

                                      Nope, the forum turns NBSP into a normal space, even in a code block. (I tried before posting my reply). Code boxes are better, but they don’t give 100% of what’s being pasted. (This forum software was designed for generic use, and isn’t specialized in being able to post things that tend more toward the “binary” nature rather than “normal text”)

                                      For @Vegard-Johansen and others who don’t know, the “code boxes” are generated by:

                                      1. Paste your text in the forum
                                      2. select that text
                                      3. Click the </> button on the forum’s post-editing toolbar :

                                      This would take your text, and the edit panel would have shown

                                      ```
                                      "120000" "various" "646958" "20220323" "12" "firstname lastname" "-4 497" "20220407" "646958"
                                      ```
                                      

                                      and it would render as

                                      "120000" "various" "646958" "20220323" "12" "firstname lastname" "-4 497" "20220407" "646958"
                                      

                                      That would have been better than what you posted, because it at least showed the real quote marks rather than the “smart quotes” that we see in your post. But unfortunately, a special character like the NBSP doesn’t come through even then.

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

                                        Hello, @Vegard-Johansen, @gerdb42, @alan-kilborn, @wonkawilly, @paul-wormer, @peterjones and All,

                                        Good intuition, @peterjones, indeed !

                                        I suppose that the Non Breaking Space characters are intentionally used between parts of a number. So, when the text of this document is wrapped, any number will be moved entirely to the next line and not separated in two parts ( one part at the end of a line and the remaining of the number on the next line )

                                        BR

                                        guy038

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

                                          Maybe answers in the future should use [\x20\xA0] to match spaces. :-(
                                          Or maybe \h is often appropriate (but it isn’t as exacting).

                                          Paul WormerP 1 Reply Last reply Reply Quote 2
                                          • Vegard JohansenV
                                            Vegard Johansen @PeterJones
                                            last edited by

                                            @PeterJones @guy038 @Alan-Kilborn @gerdb42 And everyone else :)

                                            Thank so much, this community is so nice. it worked with this one: (?<=\d)\xA0+(?=\d) in the document. hopefully it will work tonight when the system import file. i will let you know 100% tomorrow :) Again thank you so much for all help!

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