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












0















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





























    0















    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



























      0












      0








      0








      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 '18 at 5:51







      9113303

















      asked Nov 22 '18 at 5:46









      91133039113303

      332112




      332112
























          1 Answer
          1






          active

          oldest

          votes


















          1














          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',
            autoActivateHeartbeat: false,
            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









            1














            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




























              1














              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


























                1












                1








                1







                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 '18 at 6:03









                AndreasAndreas

                1,8052818




                1,8052818






























                    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.




                    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

                    Wiesbaden

                    Marschland

                    Dieringhausen