用Lua划分字符串

时间:2018-02-06 17:01:29

标签: linux nginx lua

我的字符串如下所示:nxs_dev_flo.nexus我想只返回nxs_dev_flo

以下是我的尝试:

location /luatest {
   default_type 'text/plain';
   content_by_lua 'ngx.say(split(ngx.var.host, "."))';
}

我在日志中遇到500错误:

  

2018/02/06 17:59:52 [错误] 7237#7237:* 87 lua entry thread aborted:runtime error:content_by_lua(默认值:55):1:尝试调用global&#39; split&#39 ; (零值)   堆栈追溯:   协程0:       content_by_lua(默认值:55):in function,client:127.0.0.1,server:_,request:&#34; GET / luatest HTTP / 1.1&#34;,host:&#34; nxs_flo_dev.nexus&#34; < / p>

1 个答案:

答案 0 :(得分:0)

split不是标准的Lua函数,显然不是nginx提供的函数。

请尝试ngx.say(ngx.var.host:match("(.-)%."))

string.match是标准的Lua函数。