Search code examples
pythonregexpython-re

python re.split function, how do I return the full character set?


I'm trying to use a regex pattern split this string into chunks seperated by any character.

s = 'a12b56c1'
import re
print(re.split('[a-zA-Z]',s))

This prints ['', '12', '56', '1']

How do I use the split function to have it output the whole string, delimited by any character? IE ['a12', 'b56', 'c1']


Solution

  • Try to use re.findall instead re.split (regex101):

    s = "a12b56c1"
    import re
    
    print(re.findall(r"\D+\d+", s))
    

    Prints:

    ['a12', 'b56', 'c1']