我的字符串如下: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:运行时错误:content-by-lua(默认值:55):1:尝试调用全局“split”(零值)
堆栈回溯:
协同程序0:
content_by_lua(默认值:55):在函数中,客户端:127.0.0.1,服务器:u,请求:“GET/luatest HTTP/1.1”,主机:“nxs_flo_dev.nexus”

最佳答案

split不是标准的Lua函数,显然不是nginx提供的函数。
改为尝试ngx.say(ngx.var.host:match("(.-)%."))
string.match是一个标准的Lua函数。

关于linux - 用Lua分割字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48648225/

10-11 11:34