• Login
Community
  • Login

How to copy-translate-paste certain lines?

Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
13 Posts 5 Posters 3.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.
  • C
    Cacarasa Parada
    last edited by Jun 8, 2018, 4:46 PM

    I want to translate a file xml, I can select the lines (copy to translate) that I want but I can not replace all together (paste)

    Example:
    http://image.ibb.co/b0Ftno/example.jpg

    thanks in advance

    S 1 Reply Last reply Jun 8, 2018, 4:55 PM Reply Quote 0
    • S
      Scott Sumner @Cacarasa Parada
      last edited by Jun 8, 2018, 4:55 PM

      @Cacarasa-Parada

      https://notepad-plus-plus.org/community/topic/15739/faq-desk-request-for-help-without-sufficient-information-to-help-you

      1 Reply Last reply Reply Quote 0
      • C
        Cacarasa Parada
        last edited by Jun 8, 2018, 7:27 PM

        I want to translate a file xml, I select Specific Rows using Regular expression, but the function in marks “Paste to (Replace) Bookmarked Lines” does not appear… i use the version 6.9.2

        Example:
        http://image.ibb.co/b0Ftno/example.jpg

        thanks in advance

        S 1 Reply Last reply Jun 8, 2018, 7:44 PM Reply Quote 0
        • S
          Scott Sumner @Cacarasa Parada
          last edited by Scott Sumner Jun 8, 2018, 7:44 PM Jun 8, 2018, 7:44 PM

          @Cacarasa-Parada

          Invoke Replace dialog by pressing ctrl+h, then:

          • Find what zone: Turn on the dispenser.
          • Replace with zone: Quick! Power it now!
          • Action: press Replace button
          1 Reply Last reply Reply Quote 0
          • C
            Cacarasa Parada
            last edited by Jun 11, 2018, 4:00 PM

            @Scott-Sumner said:

            Turn on the dispenser

            Thank you!! but I do not understand the explanation …

            S 1 Reply Last reply Jun 11, 2018, 4:06 PM Reply Quote 0
            • S
              Scott Sumner @Cacarasa Parada
              last edited by Jun 11, 2018, 4:06 PM

              @Cacarasa-Parada

              Perhaps it is me that doesn’t understand the question…but since no one else in 3 days jumped into help answer, maybe I am not alone in not understanding…

              1 Reply Last reply Reply Quote 0
              • C
                Cacarasa Parada
                last edited by Jun 11, 2018, 6:56 PM

                I just want to copy (Bookmarked) and paste the translated lines instead… thanks

                1 Reply Last reply Reply Quote 0
                • P
                  PeterJones
                  last edited by PeterJones Jun 11, 2018, 7:30 PM Jun 11, 2018, 7:28 PM

                  Caveat: I have never intentionally used the Bookmarks feature or the “Paste To (Replace) Bookmarked Lines” command before… but I think it does what you want:

                  using the original data:

                  Gregory I
                  Gregory II
                  Gregory III
                  Gregory IV
                  William IV
                  Victoria
                  Edward VII
                  Gregory V
                  Edward VIII
                  Gregory VI
                  Elizabeth
                  
                  1. Search > Mark ...
                    • Find What : Gregory\s+,
                    • ☑ Bookmark Line,
                    • ☑ Regular Expression
                  2. Copy the text “George Nth” from this line
                  3. Search > Bookmark > Paste To (Replace) Bookmarked Lines

                  The data changes to:

                  George Nth
                  George Nth
                  George Nth
                  George Nth
                  William IV
                  Victoria
                  Edward VII
                  George Nth
                  Edward VIII
                  George Nth
                  Elizabeth
                  

                  But I would think just using the search/replace dialog would be easier: Search > Replace

                  • Find What : Gregory\x20+\w+,
                  • Replace With : George Nth
                  • ☑ Regular Expression (checked)
                  • ☐ . matches newline (unchecked)
                  • Replace All

                  … but maybe there was a portion of your requirements that you didn’t include, that requires you bookmark multiple lines through multiple confusing matches before you do one solid replace.

                  Notice, both of these replace all the originally matched data – either the bookmarked lines, or the matched text – with the George Nth: if you really want to replace each bookmarked line with something different, neither of these strategies will work for you. (Your use of the plural in “translated lines” makes me think you want something different for each line)

                  It might be a good idea for you to more clearly define what you’re trying to achieve, with better example texts, and showing both “before” and “after” conditions… Embedding the text, so we can copy your actual text, is helpful. This FAQ shows some ways to embed text, and to embed the image so that it shows up in the post, rather than requiring us to click to another site.

                  1 Reply Last reply Reply Quote 0
                  • G
                    guy038
                    last edited by guy038 Nov 23, 2022, 2:50 PM Jun 11, 2018, 9:24 PM

                    Hello, @cacarasa-parada, @peterjones, @scott-sumner and All,

                    The last Peter’s post, speaking about the command Search > Bookmark > Paste To (Replace) Bookmarked Lines helped me to think of a true advantage of this command. Indeed, let’s suppose we would like to search a great amount of text and replace it with, a great amount of text, too !

                    As you probably know, the Find what: and Replace with: zones cannot contain more than 2046 characters


                    Regarding the Find what: field, you can, generally, consider any reasonable amount of text, while using regular expressions, by two means :

                    • Using the generic regexes (?s-i)Beginning mark.+?Ending Mark Included or (?s-i) Beginning mark.+?(?=Ending Mark Excluded)

                    For instance, in the N++ license.txt file, using the Regular expression search mode, the regex (?s-i)TERMS AND CONDITIONS.+?(?=NO WARRANTY) will select all the TERMS AND CONDITIONS paragraph, with its 11 points !

                    • Using the generic regex (?s-i)(\QMark\E).+?\1\R, where Mark represents any odd string

                    For instance, in the text, below, the part, which will be deleted or replaced, is delimited by the two specific strings ##**## and is matched with the regex (?s-i)(\Q##**##\E).+?\1\R

                    Text
                    ...
                    ...
                    ##**##
                    ...
                    ...
                    Text
                    ...
                    ...
                    Text
                    ...
                    ...
                    Text
                    ...
                    ...
                    ##**##
                    ...
                    ...
                    

                    Well, but regarding the Replace with: field, we cannot go the same way :-((. So, when the Replace area, contains more than 2046 characters :

                    • First, place the replaced text, whatever its size, in the clipboard

                    • Open the Search > Mark... command and tick the Bookmark line option

                    • Search for your text, either using the regexes above or typing your simple text in the Find what:, in normal search mode

                    • Finally, use the Search > Bookmark > Paste to (Replace) Bookmarked Lines

                    Et voilà !

                    Remark :

                    Of course, we, just, can copy some static text in the clipboard and you cannot benefit, for instance, of the \# syntax, which allow us to rewrite the group #, in replacement. But, all in all , it’s a nice work-around ;-))

                    Best Regards,

                    guy038

                    S 1 Reply Last reply Jun 12, 2018, 12:28 PM Reply Quote 1
                    • S
                      Scott Sumner @guy038
                      last edited by Scott Sumner Jun 12, 2018, 12:28 PM Jun 12, 2018, 12:28 PM

                      @guy038 said:

                      …the command…“Paste To (Replace) Bookmarked Lines” helped me to think of a true advantage of this command. Indeed, let’s suppose we would like to search a great amount of text and replace it with, a great amount of text…

                      When Marking (with bookmarking hits enabled) finds a match that spans lines, it will only bookmark the FIRST line of the match, so this technique may not allow full replacement of “a great amount of text” searched for.

                      C 1 Reply Last reply Jun 12, 2018, 3:10 PM Reply Quote 1
                      • C
                        Cacarasa Parada @Scott Sumner
                        last edited by Jun 12, 2018, 3:10 PM

                        @Scott-Sumner said:

                        @guy038 said:

                        …the command…“Paste To (Replace) Bookmarked Lines” helped me to think of a true advantage of this command. Indeed, let’s suppose we would like to search a great amount of text and replace it with, a great amount of text…

                        When Marking (with bookmarking hits enabled) finds a match that spans lines, it will only bookmark the FIRST line of the match, so this technique may not allow full replacement of “a great amount of text” searched for.

                        Yes, this is the problem…

                        •<Text>Text to replace 1</Text>
                        <Answer1ID/>
                        <Answer1Label/>
                        </Dialog>
                        <Dialog>
                        •<Text>Text to replace 2</Text>
                        <Answer1ID/>
                        <Answer1Label/>
                        •<Text>Text to replace 3</Text>
                        <Answer1ID/>
                        <Answer1Label/>

                        Result:

                        <Text>Text to replace 1</Text>
                        <Text>Text to replace 2</Text>
                        <Text>Text to replace 3</Text>
                        <Answer1ID/>
                        <Answer1Label/>
                        </Dialog>
                        <Dialog>
                        <Answer1ID/>
                        <Answer1Label/>
                        <Answer1ID/>
                        <Answer1Label/>

                        1 Reply Last reply Reply Quote 0
                        • G
                          guy038
                          last edited by guy038 Nov 23, 2022, 2:50 PM Jun 12, 2018, 8:22 PM

                          Hello, @cacarasa-parada, @peterjones, @scott-sumner and All,

                          Arrrrgh, sorry, I’m really confused ! I confess that, when elaborating my previous post, I just verified that my regexes were correct, but, without even doing a mark test :-(( I would, certainly, have noticed that well-known fact !

                          However, the search regexes, of my previous post, are still reliable when a great amount of text must be simply replaced by the contents of the Replace area :-))

                          On the other hand, if your regex identifies some specific lines in the scanned file(s), the Search > Bookmark > Paste to (Replace) Bookmarked Lines command allow you to replace each of those specific lines with the clipboard contents, which may have a consequent size !

                          Now, even if the Mark feature would have marked all the lines, matched in a Multi-lines search, the Search > Bookmark > Paste to (Replace) Bookmarked Lines command would have been useless, as every line marked would have been replaced with the clipboard contents ! Not the expected result, isn’t it !!


                          But I’ve got an easy solution !! Don’t you see ?..

                          Well, regarding the different areas of text, whatever their reasonable size, which will be replaced, each, by the clipboard contents :

                          • Insert a line, with a Start Mark, before these areas of text

                          • Insert a line, with a Stop Mark after these areas of text

                          • Now, perform the following global replacement :

                          SEARCH (?s)^\QStart Mark\E.+?(?=^\QStop Mark\E)

                          REPLACE Leave EMPTY

                          => After replacement, the area(s) of text is/are deleted and it just remains one/several line(s) Stop Mark, which will be replaced by the clipboard contents. Now, everything is clear :

                          • First, put the replaced text, whatever its size, in the clipboard

                          • Open the Mark panel

                          • Enter the simple search regex \QStop Mark\E

                          • Tick the Bookmark line option and, may be, the Purge for each search option

                          • Click on the Mark button

                          • Select the Search > Bookmark > Paste to (Replace) Bookmarked Lines command

                          => Every line Strop Mark will be replaced with the clipboard contents ;-))

                          You are done !


                          Remarks :

                          • If your marks do not contain any special regex character, you can omit the \Q and \E escape sequences

                          • Your marks can, also, be any simple character, assuming that your text does not contain this character at column 1. For instance, if your Start Mark and Stop Mark are, respectively, the # and the @ symbols, just use the regex S/R :

                          SEARCH (?s)^#.+?(?=^@)

                          REPLACE Leave EMPTY

                          Cheers,

                          guy038

                          1 Reply Last reply Reply Quote 1
                          • Gregg MorrisG
                            Gregg Morris
                            last edited by Gregg Morris Aug 30, 2018, 5:32 PM Aug 30, 2018, 5:32 PM

                            Yes, this works really well. I need to replace many large blocks of text of variable size in a large xml file. This solution works well for me.

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