Home > Software engineering >  How to split strings with multiple delimiters while keep the delimiters | python
How to split strings with multiple delimiters while keep the delimiters | python

Time:11-18

For example, I have a string section 213(d)-456(c)

How can I split it to get a list of strings:

['section', '213', '(', 'd', ')', '-', '456', '(', 'c', ')'].

Thank you!

CodePudding user response:

You can do so using Regex.

import re
text = "section 213(d)-456(c)"
output = re.split("(\W)", text)

Output: ['section', ' ', '213', '(', 'd', ')', '', '-', '456', '(', 'c', ')', '']

Here \W is for non-word character!

CodePudding user response:

You can come close with

re.split(r'([-\s()])', 'section 213(d)-456(c)')

When the delimiter contains a capture group, the result includes the captured text.

However, this will also include the space delimiters in the result:

['section', ' ', '213', '(', 'd', ')', '', '-', '456', '(', 'c', ')', '']

You can easily remove these afterward.

  • Related