使用Lua检测字符串中是否存在字符

时间:2018-02-07 08:53:12

标签: linux nginx lua

我可以有两种类型的字符串:nxs_flo_dev.nexusfpdesk。 我想测试字符串中是否有.。 如果有.我将字符串分开,否则我什么都不做。

if(ngx.var.host.contains('.') then 
    content_by_lua 'ngx.say(ngx.var.host:match("(.-)%."))';
end

有没有这样做的功能?因为.contains()不起作用。

1 个答案:

答案 0 :(得分:2)

再次使用match。请记住使用%.

来逃避点
if ngx.var.host:match('%.') then 

如果您想在content_by_lua内执行此操作

content_by_lua 'if ngx.var.host:match('%.') then ngx.say(ngx.var.host:match("(.-)%.")) end';

鉴于您的编辑,这是最简单的解决方案:

content_by_lua 'ngx.say(ngx.var.host:match("(.-)%.") or ngx.var.host)';