代码拉取完成,页面将自动刷新
同步操作将从 kongfu/Lua_prj 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
print("hello")
Global={}
function Global.PrintTabKV(t)
for i in pairs(t) do
print("key=",i," val=",t[i])
end
end
local str = "风雷涌动,<MsgObj>PLAYER,0</MsgObj>将<MsgObj>ITEM,{$1}</MsgObj>成功进阶为<MsgObj>ITEM,{$2}</MsgObj>,神装降世,谁与争锋"
local pos,arr = 0, {}
local delimiter ="<MsgObj>.-</MsgObj>"
print("ddddd = ",string.find(str,delimiter, pos,true))
-- for each divider found
for st,sp in function() return string.find(str,delimiter, pos,true) end do
print("st sp",st,sp)
table.insert(arr, string.sub(str, pos, st - 1))
pos = sp + 1
end
print("---------ffffffff ")
par = "/%*.-%*/" -- /%*.-%*/ 采用 '.-' 则为最短匹配,即匹配 "/*" 开始到第一个 "*/" 之前的部分
par = "<MsgObj>.-</MsgObj>"
print(string.gsub(str,par , "|"))
print(string.gmatch(str,par))
function getParttemContent(str,parttem)
parttem="<MsgObj>.-</MsgObj>"
local ret = {}
for name,value in string.gmatch(str,parttem) do --string.gmatch函数将返回一个迭代器,用于迭代所有出现在给定字符串中的匹配字符串
--print("getParttemContent name=",name,"value=",value)
local target = string.gsub(name,"/", "")
target = string.gsub(target,"<MsgObj>", "")
--print("target=",target)
table.insert(ret,target)
end
return ret
end
function transform(str)
local arr= {}
local par = "<MsgObj>.-</MsgObj>"
local pCnt = getParttemContent(str)
local delimiter = "|"
local replaceStr=string.gsub(str,par,delimiter)
print("transform str=",str)
print("transform replaceStr=",replaceStr)
local cIndex = 0
local pos = 0
for st,sp in function() return string.find(replaceStr,delimiter,pos,true) end do
local s = string.sub(replaceStr, pos, st - 1)
print("st sp",st,sp,"s=",s)
table.insert(arr, s)
pos = sp + 1
cIndex = cIndex + 1
if cIndex<= #pCnt then
table.insert(arr,pCnt[cIndex])
end
end
return arr
end
local ret = transform(str)
print("------------ transform is my target ----------------")
--Global.PrintTabKV(ret)
local myStr = "color,2,{$1}"
myStr = string.gsub(myStr,"[$]", "")
print("myStr=",myStr)
local s= "COLOR,2,{$1}"
print(string.find(s,"COLOR"))
local StringUtil = {}
--[[
替换占位符参数。
@str 包含占位符如:{1}的字符串
--]]
function StringUtil:replaceParams(str, ...)
--替换参数
local arg = {...}
for i,v in ipairs(arg) do
str = string.gsub(str, "{"..i.."}", v)
end
return str
end
function StringUtil:split(inputstr, sep)
if sep == nil then
sep = "%s"
end
local t = {}
local i = 1
for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
t[i] = str
i = i + 1
end
return t
end
s = "你是谁的谁的{1}等级"
local ret = StringUtil:replaceParams(s,"<替换成我>")
print("-----------------ret---------------")
print(ret)
print("-----------------ret--22-------------")
local ret = StringUtil:split("1001#", "#")
Global.PrintTabKV(ret)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。