Extracting only characters from a string in Python


In Python, I want to extract only the characters from a string.

Consider I have the following string,

input = "{('players',): 24, ('year',): 28, ('money',): 19, ('ipod',): 36, ('case',): 23, ('mini',): 46}"

I want the result as,

output =  "players year money ipod case mini"

I tried to split considering only the alphabets,

word1 = st.split("[a-zA-Z]+")

But the split is not happening.

11/20/2011 4:17:44 AM

Accepted Answer

You could do it with re, but the string split method doesnt take a regex, it takes a string.

Heres one way to do it with re:

import re
word1 = " ".join(re.findall("[a-zA-Z]+", st))
11/20/2011 4:20:42 AM

string.split() doesn't take regular expressions. You want something like:

re.split("[^a-zA-Z]*", "your string")

and to get a string:

" ".join(re.split("[^a-zA-Z]*", "your string"))

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow