其他分享
首页 > 其他分享> > 物品描述字符串处理:string.find和string.gsub使用

物品描述字符串处理:string.find和string.gsub使用

作者:互联网

【解析用逗号分割的物品描述字符串】

字符串格式:类型_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()

 

标签:aa,12,end,10001,gsub,str,local,find,string
来源: https://www.cnblogs.com/sailJs/p/15640702.html