【解析用逗号分割的物品描述字符串】
字符串格式:类型_id_数量
1 function Test3() 2 local str = "aa_10001_16,aa_10002_12,aa_10003_10" 3 local pattern = "((%w+)_(%d+)_(%d+)),?" 4 5 local entrys = {} 6 local index = 1 7 while true do 8 local index1, index2, str, t, id, num = string.find(str, pattern, index) 9 if nil == index1 then break end 10 index = index2 + 1 11 print(index1, index2, str, t, id, num) 12 table.insert(entrys, { str, t, tonumber(id), tonumber(num) }) 13 end 14 return entrys 15 end 16 Test3()
【替换某个类型的物品描述字符串】
比如:bb类型的物品字符串全部替换
1 function Test5() 2 local strArr = { 3 "aa_10001_16,bb_10001_12,cc_10001_10", 4 "bb_10001_12", 5 } 6 local pattern = "(bb_(%d+)_(%d+))(,?)" 7 8 for i=1,#strArr do 9 local str = strArr[i] 10 local str2, replCount = string.gsub(str, pattern, "ab_%2_%3%4") 11 print(str2) 12 end 13 end 14 Test5()