Lua string.match模式为MSN weatherservice

Mar*_*man 4 string lua lua-patterns

我使用MSN weatherservice.现在我有以下问题string.match.所有变量都被填充,除了sWindRichtung.它等于nil.

sHumidity, rest = string.match(rest,"humidity=\"([^\"]+)\"(.*)");
sWind, rest = string.match(rest,"windspeed=\"([^\"]+)\"(.*)");
sWindRichtung, rest = string.match(rest,"winddisplay=\"([^\"]+)\"(.*)");
Run Code Online (Sandbox Code Playgroud)

要过滤的字符串是: humidity="77" winddisplay="11 km/uur N" windspeed="11"

我认为角色/是问题所在.

lhf*_*lhf 5

您可以一次解析字符串.试试这个:

s = [[
humidity="77" winddisplay="11 km/uur N" windspeed="11"
]]

for k,v in s:gmatch('(%a+)="(.-)"') do
        print(k,v)
end
Run Code Online (Sandbox Code Playgroud)

当然,您可能希望将值保存在表中.