4

我使用MSN 天气服务。现在我有以下问题string.match。除 外,所有变量均已填充sWindRichtung。它等于nil

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

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

我认为性格/是问题。

4

1 回答 1

5

您可以一次性解析字符串。尝试这个:

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

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

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

于 2013-11-25T16:40:35.940 回答