关于Lua 中字符"|"的处理
因为工作需要最近在使用Lua语言,碰到了关于"|“的问题。
在Lua中”|“是普通字符,那么对于有”|“字符的处理就复杂了。我想到的方法两种方法:
一是将”|“分隔的字符串取出在做处理。
二是将”|"字符替换成or使用。
此文介绍的是一方法,话不多说上代码:
value = [[“Monday”|“Tuseday”|“Monday”|“Tuseday”|“Friday”|“Saturday”|“Sunday”]]
local i = 1
local sav = {}
function remove_vertical(str)
for front,back in string.gmatch(str, “(.)|(.)”) do
if string.find(front,"|") then
sav[i] = back
i = i + 1
return remove_vertical(front)
else
sav[i] = back
sav[i+1] = front
return sav
end
end
end
for k, v in pairs(remove_vertical(value)) do
print(k,v)
end
这么想起初是因为string.gmatch迭代器的特性
因此就这样把其余的取出来了。
有什么说的不对的地方还望指正,谢谢。