0基础lua学习(二十一)分割字符串逗号
2017-12-22 08:48
495 查看
1.使用正则表达式分割
starNum = "asd,dfg,ghj"
resultStrList = {}
reps = ","
-- [^,]+ 正则表达式 匹配,
string.gsub(starNum,'[^'..reps..']+',function ( w )
table.insert(resultStrList,w)
end)
print(resultStrList[1])
print(resultStrList[2])
print(resultStrList[3])
console:
>lua -e "io.stdout:setvbuf 'no'" "base.lua"
asd
dfg
ghj
>Exit code: 0
2.
input = "123,456,789"
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))
print(arr[1])
print(arr[2])
print(arr[3])
console:
123
456
789
>Exit code: 0
3.
breakpointsStr = ","
logStr = "123,456,12312313"
local i = 0
local j = 1
t = {}
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
print(t[1])
print(t[2])
print(t[3])
console:
>lua -e "io.stdout:setvbuf 'no'" "base.lua"
123
456
12312313
>Exit code: 0
starNum = "asd,dfg,ghj"
resultStrList = {}
reps = ","
-- [^,]+ 正则表达式 匹配,
string.gsub(starNum,'[^'..reps..']+',function ( w )
table.insert(resultStrList,w)
end)
print(resultStrList[1])
print(resultStrList[2])
print(resultStrList[3])
console:
>lua -e "io.stdout:setvbuf 'no'" "base.lua"
asd
dfg
ghj
>Exit code: 0
2.
input = "123,456,789"
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))
print(arr[1])
print(arr[2])
print(arr[3])
console:
123
456
789
>Exit code: 0
3.
breakpointsStr = ","
logStr = "123,456,12312313"
local i = 0
local j = 1
t = {}
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
print(t[1])
print(t[2])
print(t[3])
console:
>lua -e "io.stdout:setvbuf 'no'" "base.lua"
123
456
12312313
>Exit code: 0
相关文章推荐
- lua学习笔记14:字符串分割
- vfb.c中学习到的循环检测以逗号分割的字符串各个值的处理
- JAVA基础学习(二十一)--IO流三-File、Properties、PrintWriter与合并、分割流
- 【java基础学习二】 数组相互转换,转成用逗号隔开的字符串等
- 0基础lua学习(八)字符串
- 黑马程序员之C#编程基础学习笔记:将一个字符串数组输出为|分割的形式,比如“梅西|卡卡|郑大世"
- Java将一段逗号分割的字符串转换成一个数组
- ruby -- 基础学习(八)中文字符串截取的函数
- 对一个字符串实现反转,如果存在分号或者逗号等,则按照符号分割分别进行反转
- 从Android/Java基础之上学习C/C++语言(4)--C语言基础--字符串
- lua基础学习连接
- cocos-lua基础学习(八)Layer类学习笔记
- php学习基础篇之基础函数(数学 日期 字符串)、php循环流程控制
- 0基础lua学习(十五)metatable和__index 实现的继承
- lua分割字符串
- lua基础学习-table
- Python3基础 str split 用指定的字符将字符串分割
- 如何把一段逗号分割的字符串转换成一个数组
- Oracle中把逗号分割的字符串转换为可放入in的条件语句的字符数列
- Lua 基础学习1-类型与值