Remove all characters from string except alphabets in Python
Understanding String Filtering
Filtering a string means removing all non-alphabetic characters from it.
We will explore three different methods to achieve this in Python.
Method 1: Using a Loop
This method iterates through the string and keeps only alphabetic characters.
def remove_non_alpha(s): result = "".join(c for c in s if c.isalpha()) return result # Example usage string = "H3ll0 W@rld!" print("Filtered String:", remove_non_alpha(string))
Output: HllWrld
Method 2: Using Recursion
This method filters the string recursively.
def filter_recursive(s): if not s: return "" return (s[0] if s[0].isalpha() else "") + filter_recursive(s[1:]) # Example usage string = "C0d!ng123" print("Filtered String:", filter_recursive(string))
Output: Cdng
Method 3: Using Regular Expressions
This method uses regex to replace all non-alphabetic characters.
import re def remove_with_regex(s): return re.sub(r'[^a-zA-Z]', '', s) # Example usage string = "P@r0gr@mm1ng" print("Filtered String:", remove_with_regex(string))
Output: Prgrmmng