【问题标题】:How to convert a string into a number in python?如何在python中将字符串转换为数字?
【发布时间】:2021-08-06 19:07:22
【问题描述】:

我有一个字符串如下:“频率 0.00Hz”。我希望提取值 0.00 但我不确定如何执行此操作。通常我使用 int() 但使用频率部分我不能这样做。

有什么建议吗?

【问题讨论】:

  • 使用正则表达式从字符串中提取数字。
  • edit 显示minimal reproducible example,其中包含您根据自己的研究已经尝试过的代码。例如,split() 字符串方法和字符串切片 (my_string[:-2]) 在这里可能会有所帮助
  • 使用正则表达式re.findall(r'[0-9.]+', string)
  • 像魅力一样工作,非常感谢! @sahasrara62

标签: python type-conversion


【解决方案1】:

使用正则表达式:

import re
float(re.search('\w (\d+.\d*)\w', "Frequency 0.00Hz").group(1))

【讨论】:

  • 如果数字和小数不存在,这将失败。
  • 每次我这样做时,它都会返回:属性错误:'Nonetype'对象没有属性'group'。此外,我的频率 0.00 Hz 在每次迭代时都会发生变化,因此它可能是 20.00Hz 等。抱歉,我对编码很陌生!
  • op 数据似乎遵循一定的模式frequency <number>hz 并且 op 用于获取整数数据的字符串也遵循相同的,因此您可以考虑这些事实并获得唯一的忽略字符串
猜你喜欢
  • 2017-01-14
  • 2018-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多