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

Issue

This Content is from Stack Overflow. Question asked by Remixt

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']


This Question was asked in StackOverflow by Remixt and Answered by Andrej Kesely It is licensed under the terms of CC BY-SA 2.5. - CC BY-SA 3.0. - CC BY-SA 4.0.

people found this article helpful. What about you?