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