从 Lua 数据中获取日、月、年

我的数据格式是:2018年8月3日。

我需要从上述数据格式中分别获取日、月和年。

下面的代码片段用于找到日期,但不幸的是它不能正常工作,出现错误"attempt to concatenate field 'day' (a function value).":

local exampleArray = {data = "", day = "", month = "", year = ""}
exampleArray["day"] = string.gmatch(entitiesArray["data"], '%d*%.?%d+')

可能,这是一个错误的正则表达式。那么,什么样的正则表达式才能解决这个问题呢?

除了使用正则表达式外,还有其他解决方法吗?

点赞
用户107090
用户107090

如果输入字符串为3 august 2018,那么您想将它拆分为三个单词,其中一个单词被定义为一串非空白字符。适合这个描述的模式是:

s = "3 august 2018"
d,m,y = s:match("(%S+)%s+(%S+)%s+(%S+)")
print(d,m,y)

请注意,这里使用了match而不是gmatch,后者通常用于循环中。

2018-08-03 11:16:45