我正在使用一个数据集,其时间列的格式如下:
{:time "00:00:00"}
{:time "03:05:12"}
{:time "09:45:14"}
{:time "13:01:22"}
{:time "19:29:31"}
我已经运行了一个SQL查询来查找这些时间,虽然我需要能够找到不同的小时,可能是通过拆分字符串。我试过了:
t(get (split (:time data) #":") 0)
但它会返回数据库中的所有数据,除了我想要的东西 - 我试图在第一个之后分割时间:并且只是明确地保留分割的第一个元素。
理想情况下,我只想要返回的时间如'00''03''09''13''19',但我不确定如何做到这一点。在此先感谢您的帮助!
答案 0 :(得分:1)
除非有任何理由说明为什么时间比前两个字符更重要,你可以做到
(subs (:time data) 0 2)
如果您确实需要在第一个:
之前的所有字符并且并非总是在同一位置,您仍然可以使用subs
,但与.indexOf
结合使用:
(let [s (:time data)]
(subs s 0 (.indexOf s ":")))