2024-10-03 06:25:13 发布
网友
我有一个字符串列表,我想提取以下内容的:“000000\u 5.612230”
A = '/calibration/test_min000000_5.612230.jpeg'
随着字符串的大小可能会演变,我尝试监控“min”的“n”位置。我试图通过以下方式获得好的索引:
但我得到了“11”,对应于“校准”的“n”。我想知道如何获得字符串的最大索引值?
您可以使用re模块和regex来执行此操作,例如:
re
import re A = '/calibration/test_min000000_5.612230.jpeg' text = re.findall('\d.*\d', A)
现在,text是一个列表。如果打印它,输出如下:['000000_5.612230']
text
['000000_5.612230']
因此,如果您想提取它,只需执行此操作或使用for:
for
字符串切片似乎是一个很好的解决方案
>>> A = '/calibration/test_min000000_5.612230.jpeg' >>> start = A.index('min') + len('min') >>> end = A.index('.jpeg') >>> A[start:end] '000000_5.612230'
避免进口re
很难回答,因为您没有指定文件名的哪个部分保持不变,以及哪些部分可能会更改。总是jpeg格式吗?数字总是最后一部分吗?它的前面总是有''u min'?在
无论如何,我建议改用regex:
import re A = '/calibration/test_min000000_5.612230.jpeg' p = re.compile('.*min([_\d\.]*)\.jpeg') value = p.search(A).group(1) print value
输出:
注意,这个片段假设总是找到匹配项,如果文件名不包含模式,p.search(...)将返回None,并引发异常,您将检查是否存在这种情况。在
p.search(...)
None
您可以使用
re
模块和regex来执行此操作,例如:现在,
text
是一个列表。如果打印它,输出如下:['000000_5.612230']
因此,如果您想提取它,只需执行此操作或使用
^{pr2}$for
:字符串切片似乎是一个很好的解决方案
避免进口re
很难回答,因为您没有指定文件名的哪个部分保持不变,以及哪些部分可能会更改。总是jpeg格式吗?数字总是最后一部分吗?它的前面总是有''u min'?在
无论如何,我建议改用regex:
输出:
^{pr2}$注意,这个片段假设总是找到匹配项,如果文件名不包含模式,
p.search(...)
将返回None
,并引发异常,您将检查是否存在这种情况。在相关问题 更多 >
编程相关推荐