Lua文字列を指定文字で区切る3つの方法
3953 ワード
1.
stringライブラリのgsub関数、合計3つのパラメータ:1.strは分割する文字列2である.
2.
3.
function split( str,reps )
local resultStrList = {}
string.gsub(str,'[^'..reps..']+',function ( w )
table.insert(resultStrList,w)
end)
return resultStrList
end
stringライブラリのgsub関数、合計3つのパラメータ:1.strは分割する文字列2である.
'[^'..reps..']+'
は正規表現であり、非reps文字を検索し、複数回一致する.分割されるたびに文字列はコールバック関数で取得され、wパラメータは分割されたサブ文字列であり、tableに保存される.2.
function string.split(input, delimiter)
input = tostring(input)
delimiter = tostring(delimiter)
if (delimiter=='') then return false end
local pos,arr = 0, {}
for st,sp in function() return string.find(input, delimiter, pos, true) end do
table.insert(arr, string.sub(input, pos, st - 1))
pos = sp + 1
end
table.insert(arr, string.sub(input, pos))
return arr
end
3.
function getSplitStr(logStr,breakpointsStr,t)
local i = 0
local j = 1
local z = string.len(breakpointsStr)
while true do
i = string.find(logStr, breakpointsStr, i + 1) --
if i == nil then
table.insert(t, string.sub(logStr,j,-1))
break
end
table.insert(t, string.sub(logStr,j,i - 1))
j = i + z
end
return t
end