如何用Notepad++对时间戳秒数向上取整并移除毫秒?
当然可以用Notepad++实现这个需求!
Notepad++结合PythonScript插件能完美处理时间戳的毫秒移除和秒数向上取整(包括秒数为59、分钟为59的边界进位情况),下面是详细的实操步骤:
步骤1:安装PythonScript插件
- 打开Notepad++,点击顶部菜单栏的「插件」→「插件管理」
- 在弹出的插件列表里找到「PythonScript」,勾选后点击「安装」,安装完成后重启Notepad++
步骤2:编写并运行处理脚本
- 点击菜单栏的「Plugins」→「PythonScript」→「New Script」
- 将以下代码粘贴到新建的脚本窗口中:
editor.beginUndoAction() import re def round_up_timestamp(match): hh = int(match.group(1)) mm = int(match.group(2)) ss = int(match.group(3)) # 只要存在毫秒部分,就向上取整秒数 ss += 1 # 处理秒数进位到分钟 if ss >= 60: ss -= 60 mm += 1 # 处理分钟进位到小时 if mm >= 60: mm -= 60 hh += 1 # 可选:处理小时超过24的情况,这里默认循环为00 if hh >= 24: hh -= 24 # 格式化回两位数字的时间格式 return f"{hh:02d}:{mm:02d}:{ss:02d}" # 匹配所有HH:MM:SS.xx格式的时间戳 pattern = re.compile(r'(\d{2}):(\d{2}):(\d{2})\.\d{2}') # 获取当前文档的全部内容 content = editor.getText() # 批量替换所有符合规则的时间戳 new_content = pattern.sub(round_up_timestamp, content) # 将替换后的内容写回文档 editor.setText(new_content) editor.endUndoAction() - 点击脚本窗口的「保存」按钮,命名为
RoundUpTimestamps.py(保存路径默认是PythonScript的脚本文件夹,不用修改) - 回到你的时间戳文档,点击「Plugins」→「PythonScript」→「Scripts」→「RoundUpTimestamps」运行脚本
运行后,你的时间戳会自动完成转换:比如00:44:27.25变成00:44:28,甚至00:59:59.99这种极端边界情况,也会正确转换为01:00:00。
替代方案:手动正则替换(仅适用于无进位场景)
如果你的时间戳不会出现秒数59或分钟59的情况,可以用纯正则替换快速处理:
- 按下
Ctrl+H打开「替换」对话框,勾选「正则表达式」选项 - 针对每个需要加1的秒数单独替换,比如:
- 查找
(\d{2}:\d{2}:)23\.\d{2},替换为$124 - 查找
(\d{2}:\d{2}:)42\.\d{2},替换为$143
这种方法需要逐个处理不同的秒数,效率较低,仅适合少量固定格式的时间戳。
- 查找
内容的提问来源于stack exchange,提问作者richierich82




