Home > Back-end >  STRING MANIPULATION IN PYTHON:
STRING MANIPULATION IN PYTHON:

Time:01-03

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))
  • Related