我有两条线:
s7="ONE : TWO : THREE : FOUR : FIVE 30.1 : SIX 288.3 : SEVEN 1.9 : EIGHT 45.3 :"
s8="ONE : TWO : THREE : FOUR 155.5 : FIVE 334.7 : SIX 6.7 : SEVEN 44.5 :"
我使用以下代码来解析它:
c=s.count(':')
if c==8:
res=""
res=s.split(' : ')
res = [item.strip() for item in s.split(':')]
for index, item in enumerate(res):
print index, item
if c==7:
res=""
res=s.split(' : ')
res = [item.strip() for item in s.split(':')]
for index, item in enumerate(res):
print index, item
我得到的结果是
>>> parse(s7)
0 ONE
1 TWO
2 THREE
3 FOUR
4 FIVE 30.1
5 SIX 288.3
6 SEVEN 1.9
7 EIGHT 45.3
8
>>> parse(s8)
0 ONE
1 TWO
2 THREE
3 FOUR 155.5
4 FIVE 334.7
5 SIX 6.7
6 SEVEN 44.5
7
如何提取s7中索引4至7和s8中索引3至6的数值?我需要存储这些值,以便稍后将它们写入数据库。你知道吗
我试过几种方法,但都不管用。你知道吗
请帮忙。你知道吗
总是这样吗?您可以简单地执行以下操作:
对
s8
也是这样。你知道吗可以对每个字符串使用以下正则表达式:
对于每个字符串,您要查找的值将位于第一个捕获的组中(如果不是空的话)。你可以清楚地看到在www.debuggex.com发生了什么。你知道吗
完整代码:
你也可以做一个列表理解。你知道吗
假设字符串总是采用您提供的格式,那么这将起作用:
>> [30.1, 288.3, 1.9, 45.3]
>> [155.5, 334.7, 6.7, 44.5]
此代码说明:
在这里使用
count()
是可行的,因为如果它没有找到任何.
的出现,它不会引发任何异常。但是,如果您想使用异常处理,那么index()
就是您要找的。你知道吗相关问题 更多 >
编程相关推荐