繁体   English   中英

正则表达式用于用逗号替换时间到Python中的点

[英]Regex for replacing times with comma to a dot in Python

我有一堆srt格式的文件,我想将它们转换为webvtt格式。 将此00:00:01,478 --> 00:00:04,020更改为此00:00:01.478 --> 00:00:04.020可以很好地工作(添加,而不是. )。

我将如何在Python中做到这一点? 我制作了一个正则表达式,它在Javascript中“起作用”,可以检测到以下情况: [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3} 我知道re.sub但是文档令人困惑。

谢谢。

只需在同一正则表达式中使用捕获组,

>>> import re
>>> s = "00:00:01,478 --> 00:00:04,020"
>>> m = re.sub(r'([0-9]{2}:[0-9]{2}:[0-9]{2}),([0-9]{3})', r'\1.\2', s)
                 ^                          ^ ^        ^
>>> m
'00:00:01.478 --> 00:00:04.020'
import re
new_string = re.sub( r'([0-9:]{8}),(\d{3})', r'\1.\2', your_string )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM