【发布时间】:2019-12-14 13:09:59
【问题描述】:
我有很多字符串,每个字符串都对应于文件的路径。我想在每个字符串中提取指数格式的数字。
例如,我有:
../../Analysis_Pk_vs_Step_BEFORE_NEW_LAUNCH_13_DECEMBRE_22h57/Archive_WP_Pk_der_3_pts_step_7.27168772219203e-07/wm_up
我想提取浮点数:7.27168772219203e-07
我想避免使用split方法(带有_分隔符)。
所以我尝试使用python regexp 之类的方法,但找不到要使用的方法(findall、research 或sub)?
我怎样才能以简单或简短的方式实现这一点(独立于wm_up 子字符串,因为它可能是其他子字符串(例如wm_dw)?
说明
我想提取数字,因为我想按升序对所有这些长字符串进行排序。我想用natsorted:
例如,我最初有:
../../Analysis_Pk_vs_Step_BEFORE_NEW_LAUNCH_13_DECEMBRE_22h57/Archive_WP_Pk_der_3_pts_step_9.301510038746646e-06/wm_up
../../Analysis_Pk_vs_Step_BEFORE_NEW_LAUNCH_13_DECEMBRE_22h57/Archive_WP_Pk_der_3_pts_step_9.301510038746646e-06/wm_dw
../../Analysis_Pk_vs_Step_BEFORE_NEW_LAUNCH_13_DECEMBRE_22h57/Archive_WP_Pk_der_3_pts_step_9.437191487625705e-05/wm_up
../../Analysis_Pk_vs_Step_BEFORE_NEW_LAUNCH_13_DECEMBRE_22h57/Archive_WP_Pk_der_3_pts_step_9.437191487625705e-05/wm_dw
这是natsortedof 路径数组的结果:如您所见,升序考虑了前几位,而不是我想提取的浮点指数值(实际值)。我想按这个值的升序选择。
【问题讨论】:
-
@Reanik 我已经更新了我的问题,这没有得到很好的解释。您是否掌握了我想将路径排序为指数浮点数的“真实”值的函数的小技巧?问候
-
这些名称的唯一区别是浮点数和
updw吗? -
可以有其他子字符串,如
up2、up3、dw2、dw3...等等,当然,指数浮点数会有所不同。
标签: python regex regex-group