1

'2:19.83 blah blah...blah blah'フォーマットがどこにあるかのような文字列があり、改行以外の任意の文字列を表すことができる minutes:seconds.centiseconds blah...としましょう。blah

切り捨てられた秒数を解析して取得したい。したがって、上記の例では、結果は になります139

これを行う最善の方法は何ですか?

4

4 に答える 4

5

最初に文字列から時間部分を取得します

>>> newstring=s.split('.',1)[0]

次に、strptimeを使用して読み取ります...

>>> tt=time.strptime(newstring,"%M:%S")

そして最後に、時間を秒単位で取得します。

>>> tt.tm_min * 60 + tt.tm_sec

ワンライナーではありませんが、かなりシンプルです...

于 2012-04-30T19:54:21.020 に答える
2

これはどう?特にきれいではないかもしれませんが、機能的で理解しやすいと思います。

与えられた

s = '2:19.83'

tmp = s.split(':')
min = int(tmp[0])
sec = int(tmp[1].split('.')[0])

total_secs = min * 60 + sec   
print total_secs

収量

139
于 2012-04-30T19:56:32.867 に答える
2
sum(x*y for x,y in zip(map(int, re.findall(r'^(\d+):(\d+)', string)[0]), [60,1]))
于 2012-04-30T19:51:50.350 に答える
1

これはあなたが必要とすることをするようです:

>>> s = '2:19.83 blah blah...blah blah'
>>> import re
>>> m = re.match(r'(?P<min>\d):(?P<sec>\d{2})\.\d+', s)
>>> if m:
...     seconds = (int(m.group('min')) * 60) + int(m.group('sec'))
...     print seconds
139
于 2012-04-30T19:55:46.173 に答える