string.gmatch (s, pattern)
功能:回傳所有目標字串中和模式字串匹配的部分。
說明:和string.sub/gsub不同(功能截然不同),加上g,基本功能也是一樣,不過
string.gmatch會尋找匹配部份,從頭找到尾,它只有兩個參數,直接用print輸出,
只會得到一個table表的ID值。必須用迴圈才會取出內容。
範例:s = "hello world from Lua"
for w in string.gmatch(s, "%a+") do
print(w)
end
找出所有單字並輸出。如果gmatch的迴圈老是寫失敗,找不到問題,直接用上例,這
個Lua說明手冊的範例去修改。網路上有幾個例子的教學,不過在Mushclient都無法
執行,這個是目前找到成功的。
t = {}
s = "from=world, to=Lua"
for k, v in string.gmatch(s, "(%w+)=(%w+)") do
t[k] = v
end
把指定格式的字串取出,寫到一個表中。因為匹配的捕獲有兩個,所以迴圈的變數增
加為兩個。