2017-12-12 66 views
7

के बाद होता है तो उसे निकालने के लिए regex मैं एक स्वर में वर्णित पाठ में सभी बिंदुओं को हटाना चाहता हूं। मैं उसे कैसे कर सकता हूँ?पायथन - अगर यह बी

यहाँ कोड काश मैं था: '।'

string = re.sub('[aeuio]\.', '[aeuio]', string) 

जो कुछ स्वर से अधिक भुगतान नहीं किया है रखने के लिए और हटाने की तरह मतलब इसके पास वाला।

उत्तर

4

कब्जा स्वर और इसे करने के लिए एक backreference के साथ बदलें:

import re 
s = "Se.hi.mo." 
s = re.sub(r'([aeuio])\.', r'\1', s) 
print(s) # => Sehimo 

Python demo और एक regex demo देखें। r'\1' =:

यहाँ, ([aeuio]) रूपों एक capturing group और प्रतिस्थापन पैटर्न में \1 एक numbered backreference पाठ समूह 1.

मन कच्चे स्ट्रिंग शाब्दिक का उपयोग जहां एक बैकस्लैश पलायन अनुक्रम नहीं बनाता है, में कब्जा कर लिया है को संदर्भित '\\1'

+1

कच्चे तारों के बारे में टिप के लिए आपके महान उत्तर और विशेष रूप से टैंक के लिए धन्यवाद :) –

संबंधित मुद्दे