Python字符串的最大索引值

2024-10-03 06:25:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串列表,我想提取以下内容的:“000000\u 5.612230”

A = '/calibration/test_min000000_5.612230.jpeg'

随着字符串的大小可能会演变,我尝试监控“min”的“n”位置。我试图通过以下方式获得好的索引:

^{pr2}$

但我得到了“11”,对应于“校准”的“n”。我想知道如何获得字符串的最大索引值?


Tags: 字符串test列表方式minjpeg校准calibration
3条回答

您可以使用re模块和regex来执行此操作,例如:

import re

A = '/calibration/test_min000000_5.612230.jpeg'
text = re.findall('\d.*\d', A)

现在,text是一个列表。如果打印它,输出如下:['000000_5.612230']

因此,如果您想提取它,只需执行此操作或使用for

^{pr2}$

字符串切片似乎是一个很好的解决方案

>>> 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

输出:

^{pr2}$

注意,这个片段假设总是找到匹配项,如果文件名不包含模式,p.search(...)将返回None,并引发异常,您将检查是否存在这种情况。在

相关问题 更多 >