首页 > 解决方案 > 将数字转换为时间戳(在特定位置插入冒号)

问题描述

我为此使用 AutoHotkey,因为代码对我来说是最容易理解的。所以我有一个带有数字和文本的文档,例如这样

120344文字文字文字

234000文字 文字

并且期望的输出是

12:03:44文字文字文字

23:40:00文字 文字

我确定可以使用 StrReplace 插入冒号,但我不确定如何指定冒号的位置或要求 AHK“查找”6 位数字的特定字符串。以前,我会突出显示要应用 StrReplace 的文本,然后按热键,但我想知道是否有更有效的方法来执行此操作而无需我的交互。即使只是指出我需要研究的相关功能也会有所帮助!非常感谢,我对编程还是很陌生。

标签: autohotkey

解决方案


hfontanez 的回答非常有助于弄清楚对于这个问题,我必须使用循环和子字符串函数。我确信编写此代码的方法要少得多,但这是对我有用的最终版本:

Loop, read, C:\[location of input file]
{
  { If A_LoopReadLine = ;
   Continue ; this part is to ignore the blank lines in the file
  }
  { 
    one := A_LoopReadLine
    x := SubStr(one, 1, 2)
    y := SubStr(one, 3, 2)
    z := SubStr(one, 5)
    two := x . ":" . y . ":" . z
    FileAppend, %two%`r`n, C:\[location of output file]
   }
}
return

推荐阅读