I have the following string :'Circa 54.000.000 risultati (0,54 secondi)'
i want to get only the second number(54.000.000) as a float(or int so i can use this value to determinate if it is higher than a given number).
result=wd.find_element_by_id('result-stats')
search=result.text.replace("risultati","")
search= search.replace("Circa", "")
search= search.replace("secondi","")
result is used to take the element from the html and by using .replace i manage to have the following string:'54.000.000 (0,54)'
From there how can i get 54.000.000 as a number?
CodePudding user response:
>>> string = "54.000.000 (0,54)"
>>> first_num = string.split()[0]
>>> first_num
'54.000.000'
>>> first_num = first_num.replace(".", "")
>>> first_num = int(first_num)
>>> first_num
54000000
CodePudding user response:
You can use regex, first you need remove .
and replace ,
to .
.
import re
s = 'Circa 54.000.000 risultati (0,54 secondi)'
s = s.replace(".","").replace(",",".")
# s = 'Circa 54000000 risultati (0,54 secondi)'
a = re.findall(r'[0-9][0-9,.] ', s)
print(a)
# ['54000000', '0.54']
num = int(a[0])
# 54000000
CodePudding user response:
import re
text = 'Circa 54.000.000 risultati (0,54 secondi)'
pattern = r'\d \.\d \.\d '
res = re.findall(pattern,text)
convert_to_int = ''.join(res).replace('.','')
print(int(convert_to_int))