Python 如何使用ffmpeg时间戳格式向字符串添加秒数?
如果此字符串的粗体部分是秒。00:00:00:00.000 我怎样才能在所有这些字符串格式中添加10秒Python 如何使用ffmpeg时间戳格式向字符串添加秒数?,python,regex,string,Python,Regex,String,如果此字符串的粗体部分是秒。00:00:00:00.000 我怎样才能在所有这些字符串格式中添加10秒 00:00:00:00.000 00:00.000 00.000 结果应该是: 00:00:00:10.000 00:10.000 10.000 我想到你有两个选择: 查找或编写自己的字符串转换为时间戳格式,然后将其增加10秒并转换回 编写您自己的函数,该函数接受字符串,检查其格式,并添加10秒,必要时将其转换为分钟 使用替换功能: >>> import re >&
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
- 函数接收匹配对象作为参数。函数的返回值用作替换字符串
模式用于匹配最后一个第二部分(后跟\d+(?=\.\d+$)
小数部分).nnn
s/00\./10./g
@Scripting.FileSystemObject任何事情都可以完成。我们必须找到一条路。看看答案!我不明白为什么5个用户把这个问题搁置。这很容易理解。对于这些用户,请阅读答案。显然他明白了。这个问题不需要重写。这是一个完美的答案!不错,但是你能解释一下str(int(match.group())+10)的作用吗。请?@s_vishnu,match.group()
返回匹配的字符串部分int(..)+10
将字符串转换为整数,然后添加10。然后用str(…)
将整数转换回字符串。@s_毗瑟奴,我更新了答案(当你们评论时)。阅读更新的部分也将帮助你理解该部分的含义。谢谢你的反馈。太棒了!非常感谢。