python - 如何使用 ffmpeg 时间戳格式向字符串添加秒?

标签 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

最佳答案

使用re.sub具有替换功能:

>>> 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 小数部分)

关于python - 如何使用 ffmpeg 时间戳格式向字符串添加秒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44859238/

相关文章:

python - Mypy 产生不兼容的签名错误,但满足 Liskov 替换原则

python嵌套字典比较

regex - Java中根据RFC 1035标准检查域名

vb.net - 在 VB.NET 中拆分字符串

android - 如何将字符串和整数连接成一个变量

Python乘法表,与字符串分开

python - 终止多线程python程序

python - 是否可以在 shell 命令中的反引号之间执行 Python 程序?

.net - .NET 的替代 RegEx 引擎,支持递归

python - 如何在 python 中编写正则表达式以查找所有两个辅音相邻的单词