इस समस्या के लिए नियमित अभिव्यक्तियों का उपयोग करना सबसे आसान है। आप एकाधिक वर्णों को "|" द्वारा अलग कर सकते हैं और re.sub(chars_to_replace, string_to_replace_with, str) का उपयोग करें। हमारे पास उदाहरण के लिए:
>>> import re >>> consonants = ['b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z'] >>> re.sub('|'.join(consonants), "", "Hello people", flags=re.IGNORECASE) "eo eoe"
नोट:आप रेगेक्स में बदलने के लिए वर्णों का समूह बनाने के लिए [] का भी उपयोग कर सकते हैं।
यदि आप केवल स्वर रखना चाहते हैं और अन्य सभी वर्णों को हटाना चाहते हैं, तो आप एक आसान संस्करण का उपयोग कर सकते हैं। ध्यान दें कि यह रिक्त स्थान, संख्या आदि को भी हटा देगा। उदाहरण के लिए,
>>> import re >>> re.sub('[^aeiou]', "", "Hello people", flags=re.IGNORECASE) "eoeoe"
आप निम्न प्रकार से व्यंजन को फ़िल्टर भी कर सकते हैं:
>>> consonants = ['b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z'] >>> s = "Hello people" >>> ''.join(c for c in s if c.lower() not in consonants) 'eo eoe'