【问题标题】:String manipulation in a Python programPython 程序中的字符串操作
【发布时间】:2022-01-03 11:29:46
【问题描述】:

我有以下字符串:'Circa 54.000.000 risultati (0,54 secondi)'

我只想将第二个数字 (54.000.000) 作为浮点数(或 int,以便我可以使用此值来确定它是否高于给定数字)。

result=wd.find_element_by_id('result-stats')
search=result.text.replace("risultati","")
search= search.replace("Circa", "")
search= search.replace("secondi","")

结果用于从 html 中获取元素,通过使用.replace,我设法获得了以下字符串:'54.000.000 (0,54)'。

从那里我怎样才能得到 54.000.000 作为一个数字?

【问题讨论】:

  • CAPS LOCK 是 SHOUTING 的“网络语言”。请不要大喊大叫。相反,将您的全大写标题替换为实际描述您的问题的标题;例如“从字符串中提取数字”
  • 看看.split()

标签: python string selenium replace


【解决方案1】:

您可以使用正则表达式,首先您需要删除.并将,替换为.

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

【讨论】:

    【解决方案2】:
    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))
    

    【讨论】:

      【解决方案3】:
      >>> 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
      

      【讨论】:

        猜你喜欢
        • 2010-10-18
        • 2013-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-04
        • 1970-01-01
        相关资源
        最近更新 更多