我最近一直在使用Youtube API v3(是的,我知道,这并不适用于Lua),但是当我需要将ISO 8601持续时间转换为格式化的字符串时,网络上没有任何帮助。我一直在各处搜索,以寻找可以帮助这种事情的特定库,但是不幸的是,Lua没有任何内容。除了Lua之外,还有成千上万种其他语言的库。
现在,似乎我陷入了字符串模式,我什至不知道该如何使用。那么我还要怎么做呢?
ISO 8601持续时间的示例: PT3M33S
我想将其转换成这样的东西: 3:33
如果您不想解析整个ISO 8601规范,请尝试以下代码:
s="PT3M33S"
t=s:gsub("^.-(%d+)M(%d+)S","%1:%2")
print(t)
它使用Lua模式匹配。该模式显示为:跳过所有内容,直到一个数字连字符后跟一个M
,然后找到一个数字连字符后跟一个S
。捕获两个数字位数并在替换模式中使用它们。
如果要提取两个数字,请使用以下命令:
s="PT3M33S"
M,S=s:match("^.-(%d+)M(%d+)S")
print(M,S)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句