【发布时间】:2021-04-25 18:02:23
【问题描述】:
我想使用正则表达式和 Notepad++ 将 XML 标记中包含的所有秒数转换为毫秒。
转换前:
<keepTime>3</keepTime>
<keepTime>4.5</keepTime>
<keepTime>0.7</keepTime>
<keepTime>1.85</keepTime>
转换后我想要的结果:
<keepTime>3000</keepTime>
<keepTime>4500</keepTime>
<keepTime>700</keepTime>
<keepTime>1850</keepTime>
这是我使用的正则表达式:<keepTime>([0-9]*[.])?[0-9]+</keepTime>
它匹配<keepTime> 中的所有值。但是,我不知道将什么替换为毫秒。
如果您的回答对您有帮助,我将不胜感激。
谢谢。
【问题讨论】:
-
您需要在多个文件中搜索和替换,还是只需要一个文件?我建议使用基于 PythonScript 的解决方案,这将是最容易实现的。正则表达式将不可读。
-
是否还有格式为 0.0000007 或 9999.853456 的值?
-
@WiktorStribiżew 我遵循了下面的解决方案,它非常简单且安全。但最重要的是,它给了我所提问题的正确结果。
-
@Thefourthbird 是的,我使用的是 Notepad++ v7.8.6,并且其上的 RE 匹配这些值。但是,我的文件没有这么小/这么大的值。
-
那是几个不覆盖all cases的正则表达式的组合。
标签: regex xml notepad++ milliseconds seconds