Lua中分割字符串
2016-02-22 17:43
435 查看
function Split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end
第二种:
splitlist = {} string.gsub(str, '[^,]+', function(w) table.insert(splitlist, w) end )
[^,] 除了逗号之外的任何字符
用法:
local list = Split("abc,123,345", ",")
然后list里面就是
abc
123
345
了。第二个参数可以是多个字符,但是不能是Lua正则表达式。例如. ,或者 %w 之类的。
增强版等以后再放出来吧,这个应该大部分够用了。
相关文章推荐
- 150. Evaluate Reverse Polish Notation
- uLua中遇到的问题
- Lua基础之字符串(string)
- Lua基础之语法
- Lua中cJson的读写
- Lua基础之Function
- 使用tolua++编译pkg,从而创建自定义类让Lua脚本使用
- Lua基础之table详解
- Lua基础之coroutine(协程)
- 快速掌握Lua 5.3 —— 字符串库 (3)
- Lua 编程: 如何给文件写入二进制数据
- lua基础知识笔记
- 快速掌握Lua 5.3 —— 字符串库 (2)
- 项目记录21-- 原来c#框架mediator改lua--02
- 项目记录20-- 原来c#框架mediator改lua--01
- 使用VS2013编译Lua5.3.2
- protoc-gen-lua message之间相互引用问题 导致 upvalue 'message_type' (a nil value)
- Lua_第 7 章 迭代器与泛型 for
- Lua_第 6 章 再论函数
- Lua_第 5 章 函数