Splitting a filename into words and numbers in Python
Posted
by danspants
on Stack Overflow
See other posts from Stack Overflow
or by danspants
Published on 2010-05-04T01:38:51Z
Indexed on
2010/05/04
1:48 UTC
Read the original article
Hit count: 489
The following code splits a string into a list of words but does not include numbers:
txt="there_once was,a-monkey.called phillip?09.txt"
sep=re.compile(r"[\s\.,-_\?]+")
sep.split(txt)
['there', 'once', 'was', 'a', 'monkey', 'called', 'phillip', 'txt']
This code gives me words and numbers but still includes "_" as a valid character:
re.findall(r"\w+|\d+",txt)
['there_once', 'was', 'a', 'monkey', 'called', 'phillip', '09', 'txt']
What do I need to alter in either piece of code to end up with the desired result of:
['there', 'once', 'was', 'a', 'monkey', 'called', 'phillip', '09', 'txt']
© Stack Overflow or respective owner