python – How to extract the substring between two markers?

python – How to extract the substring between two markers?

Using regular expressions – documentation for further reference

import re

text = gfgfdAAA1234ZZZuijjk

m = re.search(AAA(.+?)ZZZ, text)
if m:
    found = m.group(1)

# found: 1234

or:

import re

text = gfgfdAAA1234ZZZuijjk

try:
    found = re.search(AAA(.+?)ZZZ, text).group(1)
except AttributeError:
    # AAA, ZZZ not found in the original string
    found =  # apply your error handling

# found: 1234
>>> s = gfgfdAAA1234ZZZuijjk
>>> start = s.find(AAA) + 3
>>> end = s.find(ZZZ, start)
>>> s[start:end]
1234

Then you can use regexps with the re module as well, if you want, but thats not necessary in your case.

python – How to extract the substring between two markers?

regular expression

import re

re.search(r(?<=AAA).*?(?=ZZZ), your_text).group(0)

The above as-is will fail with an AttributeError if there are no AAA and ZZZ in your_text

string methods

your_text.partition(AAA)[2].partition(ZZZ)[0]

The above will return an empty string if either AAA or ZZZ dont exist in your_text.

PS Python Challenge?

Leave a Reply

Your email address will not be published. Required fields are marked *