在Ruby中查找并替换TaskPaper Logging中的时间字符串

时间:2013-04-13 00:00:27

标签: ruby string

我正在使用Brett Terpstra的Ruby脚本来查找和记录完成的TaskPaper项目,如下所示:https://gist.github.com/ttscoff/1913007

此脚本在行中搜索具有看起来像'@done(YYYY-MM-DD)'的标记的行,并将这些行发送到没有@done字符串的第一天。

但是,我的商品还有一个标签'@time(HH:MM)',用于更具体的时间戳。我想做的是另外找到时间标签,只捕获HH:MM字符串,将其移动到条目的前面,也没有@time标签。

我知道这个问题有点具体,我对Ruby没有经验。整个下午一直在搜索和试验无济于事。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试在输入中找到此模式

1.9.3p429 :001 > s = 'foo bar baz @time(12:00)'
=> "foo bar baz @time(12:00)"
1.9.3p429 :002 > s.scan(/\@time\((\d{1,2}\:\d{2})\)/)
=> [["12:00"]]