parse all text after string

Viewed 35

I am parsing a value: Sitecore Cms

This same value is used in a longer sentence like: Multiple cross-site scripting (XSS) vulnerabilities in Sitecore CMS 9.0.1 and earlier

What i am trying to do is parse numerical value after Sitecore CMS so 9.0.1

What im currently trying to accomplish this is:

#`Sitecore Cms`
technologytitle=str(soup.find("h1").text)

#Deserialization of Untrusted Data in the anti CSRF module in Sitecore through 9.1
vulntitle=theh4.split("CVE")[0]

vulnparsversion=str(vulntitle)

The problem is I try to parse

#['\nMultiple cross-site scripting (XSS) vulnerabilities in Sitecore CMS 9.0.1 and earlier\n\n\n\n\n']
technologyvers=re.split(str(vulnparsversion), vulnparsversion)

This isnt parsing 9.0.1 or earlier

UPDATED CODE - putting out None, why?

        technologytitle=str(soup.find("h1").text)

        vulntitle=str(theh4.split("CVE")[0])
        vulntechversion=vulntitle.strip().split(technologytitle)[1].strip() if technologytitle in vulntitle else None

        print("technologytitle was {}".format(technologytitle))
        print("vulntitle was {}".format(vulntitle))
        print("vulntechversion was {}".format(vulntechversion))

its printing out:

technologytitle was  Sitecore Cms 
vulntitle was 
Deserialization of Untrusted Data in the anti CSRF module in Sitecore through 9.1
vulntechversion was None

Why is it print None ?

i additionally tried the following:

>>> techtitle="Sitecore Cms"
>>> vulntitle="Deserialization of Untrusted Data in the anti CSRF module in Sitecore through 9.1"
>>> index=vulntitle.find(techtitle)
>>> if index != -1:
...     print("it exists")
... else:
...     print("it doesnt")
it doesnt
1 Answers
long_string = '\nMultiple cross-site scripting (XSS) vulnerabilities in Sitecore CMS 9.0.1 and earlier\n\n\n\n\n'
feature = 'Sitecore CMS'

version = long_string.strip().split(feature)[1].strip() if feature in long_string else None

print(version)

Result:

9.0.1 and earlier

Related