Lua按指定字符分隔字符串的3种方法
2016-01-26 23:45
986 查看
1.
string库的gsub函数,共三个参数:
1. str是待分割的字符串
2.
3. 每次分割完的字符串都能通过回调函数获取到,w参数就是分割后的一个子字符串,把它保存到一个table中
2.
3.
function split( str,reps ) local resultStrList = {} string.gsub(str,'[^'..reps..']+',function ( w ) table.insert(resultStrList,w) end) return resultStrList end
string库的gsub函数,共三个参数:
1. str是待分割的字符串
2.
'[^'..reps..']+'是正则表达式,查找非reps字符,并且多次匹配
3. 每次分割完的字符串都能通过回调函数获取到,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
相关文章推荐
- 详解Lua中的表的概念及其相关操作方法
- Lua编程示例(二):面向对象、metatable对表进行扩展
- 把Lua编译进nginx步骤方法
- Lua脚本自动生成APK包
- Lua中的元表(metatable)、元方法(metamethod)详解
- Lua中的metatable介绍
- Lua中ipair和pair的区别
- Lua中的函数精讲笔记
- 浅谈Lua的面向对象特性
- 详解Lua中的变量相关知识点
- Lua脚本语言入门笔记
- Lua脚本调用外部脚本
- 详解Lua中的if语句的使用方法
- Lua中调用函数使用点号和冒号的区别
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中强大的元方法__index详解
- Lua中调用C++函数示例
- Lua面向对象之类和继承浅析
- Lua性能优化技巧(一):前言
- Lua中获取table长度问题探讨