He estado luchando para convertir un archivo en el siguiente formato
0:01:00.340 --> 0:01:01.380
***subtitle text***
0:01:01.380 --> 0:01:02.390
***subtitle text***
en formato estándar .srt, es decir:
1
0:01:00,320 --> 0:01:01,360
***subtitle text***
2
0:01:01,360 --> 0:01:02,320
***subtitle text***
Saludos de antemano!
EDITAR: eliminé cosas sobre mi progreso antes de la respuesta de LotPing.
Respuestas:
Mi editor favorito Textpad puede hacer esto, de lo contrario necesitará un vbscript o Powershell.
Editar El RegEx se hizo más complejo con 3 grupos que capturan las regiones alrededor de los puntos / comas
Buscar:
^(\d{1,2}:\d{2}:\d{2})\.(\d{3}[-> ]+\d{1,2}:\d{2}:\d{2})\.(\d{3})
Reemplazar:
\i\n$1,$2,$3
Lo que hace el RegEx es:
h:mm:ss
patrón donde\d
representa un dígito y{1,2}
es un cuantificador, es decir, una o dos apariciones.{2}
Es sólo dos veces, etc.[-> ]+
Es una clase de cualquiera de los caracteres dentro del[ ]
el siguiente cuantificador+
significa al menos uno pero el mayor número posible de caracteres de clase.^
anclado en linea comienza yEsto es reemplazado por
\i
incremento especial para TextPad\n
nueva línea$1
patrón también conocido como tiempoUna fuente valiosa para RegEx es Regular-Expressions.info
y para probar de forma interactiva un uso RegEx o RE RegEx101.com
El RE anterior en RegEx101.com sin el
\i
-característicafuente
\i
reemplazo de incremento. Voy a actualizar la imagen.Para una solución de línea de comandos, usaría JREPL.BAT - una utilidad de expresión regular de script puro (JScript / batch) que se ejecuta en cualquier máquina Windows desde XP en adelante sin la necesidad de ningún archivo exe de terceros.
Los siguientes usos.
^
Continuación de la línea para evitar el desplazamiento, pero se podría poner todo en una línea.Use CALL JREPL si coloca el comando dentro de un script por lotes.
fuente