我已尝试过以下代码进行拆分,但我无法拆分
import re
s = "abcd[00451.00]"
print str(s).strip('[]')
我需要输出作为唯一的数字或十进制格式00451.00此值,但我能够输出为abcd [00451.00
答案 0 :(得分:2)
如果您确定可以使用一个开始和结束括号
s = "abcd[00451.00]"
print s[s.index("[") + 1:s.rindex("]")]
# 00451.00
str.index
用于获取字符串中元素[
的第一个索引,其中str.rindex
用于获取]
中元素的最后一个索引。根据这些索引,字符串为sliced。
如果要将其转换为浮点数,则可以使用float
函数,如下所示
print float(s[s.index("[") + 1:s.rindex("]")])
# 451.0
答案 1 :(得分:0)
您应该使用re.search
:
import re
s = "abcd[00451.00]"
>>> print re.search(r'\[([^\]]+)\]', s).group(1)
00451.00
答案 2 :(得分:0)
你可以先拆分'['然后去掉任何']'字符的结果列表:
[p.strip(']') for p in s.split('[')]