Getting words by words of a string keeping the spacing between each words











up vote
0
down vote

favorite












my_string= 'EXPLORE  DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS…'


Expected output:.



EXPLORE
EXPLORE DATA..
EXPLORE DATA.. ADD


I have tried with re.sub("[^w]", " ", my_string).split()



which gives: ['EXPLORE', 'DATA', 'ADD', 'INTELLIGENCE', 'GET', 'VALUABLE', 'INSIGHTS']



While taking first two string it will be EXPLORE DATA which does not keep the actual spacing in the my_string. Expected is EXPLORE DATA... How to get the expected output. Like first word, then first two words, then first 3 words..and so on.










share|improve this question




























    up vote
    0
    down vote

    favorite












    my_string= 'EXPLORE  DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS…'


    Expected output:.



    EXPLORE
    EXPLORE DATA..
    EXPLORE DATA.. ADD


    I have tried with re.sub("[^w]", " ", my_string).split()



    which gives: ['EXPLORE', 'DATA', 'ADD', 'INTELLIGENCE', 'GET', 'VALUABLE', 'INSIGHTS']



    While taking first two string it will be EXPLORE DATA which does not keep the actual spacing in the my_string. Expected is EXPLORE DATA... How to get the expected output. Like first word, then first two words, then first 3 words..and so on.










    share|improve this question


























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      my_string= 'EXPLORE  DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS…'


      Expected output:.



      EXPLORE
      EXPLORE DATA..
      EXPLORE DATA.. ADD


      I have tried with re.sub("[^w]", " ", my_string).split()



      which gives: ['EXPLORE', 'DATA', 'ADD', 'INTELLIGENCE', 'GET', 'VALUABLE', 'INSIGHTS']



      While taking first two string it will be EXPLORE DATA which does not keep the actual spacing in the my_string. Expected is EXPLORE DATA... How to get the expected output. Like first word, then first two words, then first 3 words..and so on.










      share|improve this question















      my_string= 'EXPLORE  DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS…'


      Expected output:.



      EXPLORE
      EXPLORE DATA..
      EXPLORE DATA.. ADD


      I have tried with re.sub("[^w]", " ", my_string).split()



      which gives: ['EXPLORE', 'DATA', 'ADD', 'INTELLIGENCE', 'GET', 'VALUABLE', 'INSIGHTS']



      While taking first two string it will be EXPLORE DATA which does not keep the actual spacing in the my_string. Expected is EXPLORE DATA... How to get the expected output. Like first word, then first two words, then first 3 words..and so on.







      python-3.x






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 22 at 5:51

























      asked Nov 22 at 5:46









      9113303

      30511




      30511
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote



          accepted










          You can do it by using the index of those word list that you have created



          import re

          my_string = 'EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS…'
          word_list = re.sub("[^w]", " ", my_string).split()
          for word in word_list:
          end_index = my_string.find(word) + len(word) // get the index at the end of the word
          print(my_string[:end_index])


          This results in



          EXPLORE                                                                                                              
          EXPLORE DATA
          EXPLORE DATA.. ADD
          EXPLORE DATA.. ADD INTELLIGENCE
          EXPLORE DATA.. ADD INTELLIGENCE..GET
          EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE
          EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS





          share|improve this answer





















            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53424581%2fgetting-words-by-words-of-a-string-keeping-the-spacing-between-each-words%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            1
            down vote



            accepted










            You can do it by using the index of those word list that you have created



            import re

            my_string = 'EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS…'
            word_list = re.sub("[^w]", " ", my_string).split()
            for word in word_list:
            end_index = my_string.find(word) + len(word) // get the index at the end of the word
            print(my_string[:end_index])


            This results in



            EXPLORE                                                                                                              
            EXPLORE DATA
            EXPLORE DATA.. ADD
            EXPLORE DATA.. ADD INTELLIGENCE
            EXPLORE DATA.. ADD INTELLIGENCE..GET
            EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE
            EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS





            share|improve this answer

























              up vote
              1
              down vote



              accepted










              You can do it by using the index of those word list that you have created



              import re

              my_string = 'EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS…'
              word_list = re.sub("[^w]", " ", my_string).split()
              for word in word_list:
              end_index = my_string.find(word) + len(word) // get the index at the end of the word
              print(my_string[:end_index])


              This results in



              EXPLORE                                                                                                              
              EXPLORE DATA
              EXPLORE DATA.. ADD
              EXPLORE DATA.. ADD INTELLIGENCE
              EXPLORE DATA.. ADD INTELLIGENCE..GET
              EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE
              EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS





              share|improve this answer























                up vote
                1
                down vote



                accepted







                up vote
                1
                down vote



                accepted






                You can do it by using the index of those word list that you have created



                import re

                my_string = 'EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS…'
                word_list = re.sub("[^w]", " ", my_string).split()
                for word in word_list:
                end_index = my_string.find(word) + len(word) // get the index at the end of the word
                print(my_string[:end_index])


                This results in



                EXPLORE                                                                                                              
                EXPLORE DATA
                EXPLORE DATA.. ADD
                EXPLORE DATA.. ADD INTELLIGENCE
                EXPLORE DATA.. ADD INTELLIGENCE..GET
                EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE
                EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS





                share|improve this answer












                You can do it by using the index of those word list that you have created



                import re

                my_string = 'EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS…'
                word_list = re.sub("[^w]", " ", my_string).split()
                for word in word_list:
                end_index = my_string.find(word) + len(word) // get the index at the end of the word
                print(my_string[:end_index])


                This results in



                EXPLORE                                                                                                              
                EXPLORE DATA
                EXPLORE DATA.. ADD
                EXPLORE DATA.. ADD INTELLIGENCE
                EXPLORE DATA.. ADD INTELLIGENCE..GET
                EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE
                EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 22 at 6:03









                Andreas

                1,510516




                1,510516






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53424581%2fgetting-words-by-words-of-a-string-keeping-the-spacing-between-each-words%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    What visual should I use to simply compare current year value vs last year in Power BI desktop

                    Alexandru Averescu

                    Trompette piccolo