我有一个XML文档,其中有结束时间,我需要更改此格式
end="00:00:09:02">
到这个
end="00:09.02">
基本上前两个数字和冒号被删除,最后一个冒号被一个句号替换。
我有数百个要改变,并试图弄清楚如何使用某种脚本编辑它们,有没有人有任何建议?
以下是原始行:
<p start="00:00:13:23" EndTimecode="00:00:17:02" Title='Let’s start with RIM and
the High Velocity Sector.'/>
以下是我最终需要做的事情:
<p begin="00:13.23" end="00:17.02">Let’s start with RIM and
the High Velocity Sector.</p>
由于发现查找和替换是最佳选择,我已更新了我的问题。
答案 0 :(得分:2)
一种方法是regexp。
Regexp:/(?:EndTimecode="[0-9]{2}):([0-9]{2}):([0-9]{2}):([0-9]{2})(?:")/
替换字符串:end="$1:$2.$3"
你会像这样使用它:
$contents
)$contents = preg_replace('/(?:EndTimecode="[0-9]{2}):([0-9]{2}):([0-9]{2}):([0-9]{2})(?:")/', 'end="$1:$2.$3"', $contents);
$contents
首先创建备份或将其写入新的tmp文件!
编辑:见上文。唯一的变化是在正则表达式中。 (?:end
已更改为(?:EndTimecode
Edit2:我希望他们看起来都一样。试试这个
Regexp:/<p start="[0-9]{2}:([0-9]{2}):([0-9]{2}):([0-9]{2})" EndTimecode="[0-9]{2}:([0-9]{2}):([0-9]{2}):([0-9]{2})"\sTitle='(.+?)'/>/
替换字符串:<p begin="$1:$2.$3" end="$4:$5.$6">$7</p>