この文字列の太字の部分が秒である場合。 00:00:00: .000ffmpegタイムスタンプ形式の文字列に秒を追加するにはどうすればよいですか?
この文字列形式にはどのように10秒を追加できますか?
00:00:00:00.000
00:00.000
00.000
結果は次のようになります。
00:00:00:10.000
00:10.000
10.000
この文字列の太字の部分が秒である場合。 00:00:00: .000ffmpegタイムスタンプ形式の文字列に秒を追加するにはどうすればよいですか?
この文字列形式にはどのように10秒を追加できますか?
00:00:00:00.000
00:00.000
00.000
結果は次のようになります。
00:00:00:10.000
00:10.000
10.000
>>> import re
>>> strings = [
... '00:00:00:00.000',
... '00:00.000',
... '00.000',
... ]
>>> for s in strings:
... re.sub(r'\d+(?=\.\d+$)', lambda match: str(int(match.group()) + 10), s)
...
'00:00:00:10.000'
'00:10.000'
'10.000'
re.sub
だけでなく、2番目のパラメータとして置換文字列を受け入れ、だけでなく、2番目のパラメータとして置換機能を受け入れることができます。\d+(?=\.\d+$)
パターンは(.nnn
小数部分が続いている)最後の秒の部分を一致させるために使用されいいですが、 'str(int(match.group())+ 10)、s)が何をしているのか説明できません。お願いします? – void
@s_vishnu、 'match.group()'は一致した文字列部分を返します。 'int(..)+ 10'を実行して文字列を整数に変換した後、10を追加します。その後、整数を文字列に変換するために' str(..) 'を使用します。 – falsetru
@s_vishnu、私は(あなたがコメントしていた)回答を更新しました。更新された部分を読むことは、その部分の意味を理解するのにも役立ちます。フィードバックいただきありがとうございます。 – falsetru
あなたは私の心に来て2つのオプションがあります。
を増やし、その後、タイムスタンプ形式に文字列の独自のコンバータを探すか、書き込みそれを10秒後に変換します。
文字列を受け取り、それがどの形式であるかをチェックし、必要に応じて10分をシフトする独自の関数を記述します。置換機能で使用
あなたが入力中の固定パターンを持っていません。 – Rahul
's/00 \ ./ 10./g;' – melpomene
@ Scripting.FileSystemObject何でもできます。私たちは方法を見つけなければなりません。答えを見てください! – void