查找特定字符之间的子字符串
Find substring between specific characters
我不熟悉 Lua 语言,我需要你的帮助。我试图通过 POST 接收一些值,这些值是这样的:
pwd = password
ssid = ssid_name
swstat={string.find(payload,"pwd=")}
swstat1={string.find(payload,"ssid=")}
if swstat[2]~=nil then
pass=string.sub(payload,swstat[2]+1,#payload)
ssid=string.sub(payload,swstat1[2]+1,#payload)
print("Password: "..pass)
print("SSID: "..ssid)
end
上述代码的实际结果是(通过网络浏览器发送 ssid=htc 和密码=fr):
Password: fr
SSID: htc&pwd=fr
我想在一个字符串中只包含密码,在另一个字符串中包含 ssid。
所以我的想法是使用以下逻辑搜索字符串:
ssid = 在字符串中查找 "ssid=" 和(“&”或字符串结尾)之间的子字符串
pwd = 在字符串中查找 "pwd=" 和(“&”或字符串结尾)
之间的子字符串
由于 payload
是一种有效的查询字符串格式,您可以将相关信息存储在 table:
local tData = {}
for sParam, sValue in payload:gmatch "([^=&]+)=([^=&]+)" do
tData[sParam:lower()] = sValue
end
现在,您将获得 tData
table 中的信息:
tData.pwd -- will have fr
tData.ssid -- will have htc
我不熟悉 Lua 语言,我需要你的帮助。我试图通过 POST 接收一些值,这些值是这样的:
pwd = password
ssid = ssid_name
swstat={string.find(payload,"pwd=")}
swstat1={string.find(payload,"ssid=")}
if swstat[2]~=nil then
pass=string.sub(payload,swstat[2]+1,#payload)
ssid=string.sub(payload,swstat1[2]+1,#payload)
print("Password: "..pass)
print("SSID: "..ssid)
end
上述代码的实际结果是(通过网络浏览器发送 ssid=htc 和密码=fr):
Password: fr
SSID: htc&pwd=fr
我想在一个字符串中只包含密码,在另一个字符串中包含 ssid。 所以我的想法是使用以下逻辑搜索字符串: ssid = 在字符串中查找 "ssid=" 和(“&”或字符串结尾)之间的子字符串 pwd = 在字符串中查找 "pwd=" 和(“&”或字符串结尾)
之间的子字符串由于 payload
是一种有效的查询字符串格式,您可以将相关信息存储在 table:
local tData = {}
for sParam, sValue in payload:gmatch "([^=&]+)=([^=&]+)" do
tData[sParam:lower()] = sValue
end
现在,您将获得 tData
table 中的信息:
tData.pwd -- will have fr
tData.ssid -- will have htc