How to use re.sub












0















I want to modify the string test, to only have "TEXT" left. Therefor everything after "TEXT" is deleted. I figured that out. But how do I use re.sub to cut everything before "TEXT"? I only want to use " 265" and "159 " as criteria to determine when to delete.



test = "314 159 TEXT 265 357" 
test = re.sub(r' 265.*$', '', test)
print(test)


The Output should be "TEXT"










share|improve this question

























  • What is the expected output? Unclear: " I only want to use " 265" and "159 " as criteria...".

    – Austin
    Nov 14 '18 at 18:18













  • Possible duplicate of Stripping everything but alphanumeric chars from a string in Python

    – l'L'l
    Nov 14 '18 at 18:19











  • ...test = ''.join(x for x in test if x.isalpha())...

    – l'L'l
    Nov 14 '18 at 18:21











  • the same way I used ' 265' in re.sub; The Output should be "TEXT"

    – F.Ima
    Nov 14 '18 at 18:23













  • Why do you want to do this with re.sub? It seems like the wrong tool for the job; re.search would be more appropriate.

    – user2357112
    Nov 14 '18 at 18:28
















0















I want to modify the string test, to only have "TEXT" left. Therefor everything after "TEXT" is deleted. I figured that out. But how do I use re.sub to cut everything before "TEXT"? I only want to use " 265" and "159 " as criteria to determine when to delete.



test = "314 159 TEXT 265 357" 
test = re.sub(r' 265.*$', '', test)
print(test)


The Output should be "TEXT"










share|improve this question

























  • What is the expected output? Unclear: " I only want to use " 265" and "159 " as criteria...".

    – Austin
    Nov 14 '18 at 18:18













  • Possible duplicate of Stripping everything but alphanumeric chars from a string in Python

    – l'L'l
    Nov 14 '18 at 18:19











  • ...test = ''.join(x for x in test if x.isalpha())...

    – l'L'l
    Nov 14 '18 at 18:21











  • the same way I used ' 265' in re.sub; The Output should be "TEXT"

    – F.Ima
    Nov 14 '18 at 18:23













  • Why do you want to do this with re.sub? It seems like the wrong tool for the job; re.search would be more appropriate.

    – user2357112
    Nov 14 '18 at 18:28














0












0








0








I want to modify the string test, to only have "TEXT" left. Therefor everything after "TEXT" is deleted. I figured that out. But how do I use re.sub to cut everything before "TEXT"? I only want to use " 265" and "159 " as criteria to determine when to delete.



test = "314 159 TEXT 265 357" 
test = re.sub(r' 265.*$', '', test)
print(test)


The Output should be "TEXT"










share|improve this question
















I want to modify the string test, to only have "TEXT" left. Therefor everything after "TEXT" is deleted. I figured that out. But how do I use re.sub to cut everything before "TEXT"? I only want to use " 265" and "159 " as criteria to determine when to delete.



test = "314 159 TEXT 265 357" 
test = re.sub(r' 265.*$', '', test)
print(test)


The Output should be "TEXT"







python






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 14 '18 at 18:25







F.Ima

















asked Nov 14 '18 at 18:16









F.Ima F.Ima

82




82













  • What is the expected output? Unclear: " I only want to use " 265" and "159 " as criteria...".

    – Austin
    Nov 14 '18 at 18:18













  • Possible duplicate of Stripping everything but alphanumeric chars from a string in Python

    – l'L'l
    Nov 14 '18 at 18:19











  • ...test = ''.join(x for x in test if x.isalpha())...

    – l'L'l
    Nov 14 '18 at 18:21











  • the same way I used ' 265' in re.sub; The Output should be "TEXT"

    – F.Ima
    Nov 14 '18 at 18:23













  • Why do you want to do this with re.sub? It seems like the wrong tool for the job; re.search would be more appropriate.

    – user2357112
    Nov 14 '18 at 18:28



















  • What is the expected output? Unclear: " I only want to use " 265" and "159 " as criteria...".

    – Austin
    Nov 14 '18 at 18:18













  • Possible duplicate of Stripping everything but alphanumeric chars from a string in Python

    – l'L'l
    Nov 14 '18 at 18:19











  • ...test = ''.join(x for x in test if x.isalpha())...

    – l'L'l
    Nov 14 '18 at 18:21











  • the same way I used ' 265' in re.sub; The Output should be "TEXT"

    – F.Ima
    Nov 14 '18 at 18:23













  • Why do you want to do this with re.sub? It seems like the wrong tool for the job; re.search would be more appropriate.

    – user2357112
    Nov 14 '18 at 18:28

















What is the expected output? Unclear: " I only want to use " 265" and "159 " as criteria...".

– Austin
Nov 14 '18 at 18:18







What is the expected output? Unclear: " I only want to use " 265" and "159 " as criteria...".

– Austin
Nov 14 '18 at 18:18















Possible duplicate of Stripping everything but alphanumeric chars from a string in Python

– l'L'l
Nov 14 '18 at 18:19





Possible duplicate of Stripping everything but alphanumeric chars from a string in Python

– l'L'l
Nov 14 '18 at 18:19













...test = ''.join(x for x in test if x.isalpha())...

– l'L'l
Nov 14 '18 at 18:21





...test = ''.join(x for x in test if x.isalpha())...

– l'L'l
Nov 14 '18 at 18:21













the same way I used ' 265' in re.sub; The Output should be "TEXT"

– F.Ima
Nov 14 '18 at 18:23







the same way I used ' 265' in re.sub; The Output should be "TEXT"

– F.Ima
Nov 14 '18 at 18:23















Why do you want to do this with re.sub? It seems like the wrong tool for the job; re.search would be more appropriate.

– user2357112
Nov 14 '18 at 18:28





Why do you want to do this with re.sub? It seems like the wrong tool for the job; re.search would be more appropriate.

– user2357112
Nov 14 '18 at 18:28












1 Answer
1






active

oldest

votes


















0














Use a similar pattern as you did for subbing the end, and string them together.:



test = re.sub(r'.* 159 ', '', re.sub(r' 265.*$', '', test))


Alternatively, you could do it with a single pattern and re.findall:



test = re.findall(r'^.*159 ([A-Z]+) 265.*$', test)





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%2f53306473%2fhow-to-use-re-sub%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









    0














    Use a similar pattern as you did for subbing the end, and string them together.:



    test = re.sub(r'.* 159 ', '', re.sub(r' 265.*$', '', test))


    Alternatively, you could do it with a single pattern and re.findall:



    test = re.findall(r'^.*159 ([A-Z]+) 265.*$', test)





    share|improve this answer




























      0














      Use a similar pattern as you did for subbing the end, and string them together.:



      test = re.sub(r'.* 159 ', '', re.sub(r' 265.*$', '', test))


      Alternatively, you could do it with a single pattern and re.findall:



      test = re.findall(r'^.*159 ([A-Z]+) 265.*$', test)





      share|improve this answer


























        0












        0








        0







        Use a similar pattern as you did for subbing the end, and string them together.:



        test = re.sub(r'.* 159 ', '', re.sub(r' 265.*$', '', test))


        Alternatively, you could do it with a single pattern and re.findall:



        test = re.findall(r'^.*159 ([A-Z]+) 265.*$', test)





        share|improve this answer













        Use a similar pattern as you did for subbing the end, and string them together.:



        test = re.sub(r'.* 159 ', '', re.sub(r' 265.*$', '', test))


        Alternatively, you could do it with a single pattern and re.findall:



        test = re.findall(r'^.*159 ([A-Z]+) 265.*$', test)






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 14 '18 at 18:27









        TimTim

        1,759620




        1,759620






























            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%2f53306473%2fhow-to-use-re-sub%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







            這個網誌中的熱門文章

            Tangent Lines Diagram Along Smooth Curve

            Yusuf al-Mu'taman ibn Hud

            Zucchini