我的字符串如下: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/