lua学习笔记14:字符串分割

在处理http请求返回的数据时,经常会用到字符串分割。lua号称“脚本精灵”,是一门小而精的语言,它并没有给我们实现字符串的分割。

拒绝前戏,直接高潮,上代码:

-----------------------------------------------------------------------
-- des:字符串分割
-- arg:str-要被分割的字符串 ,char-分割字符
-- log: add by 寒风 2014/11/13
-----------------------------------------------------------------------
function getTabBySplitString(str, char)
	if (str == "" or not str or char == "" or not char) then
		return
	end

	local subStrTab = {}
	while(true) do
		local pos = string.find(str, char)
		if (not pos) then
  			subStrTab[#subStrTab + 1] = str
			break
		end
		local subStr = string.sub(str, 1, pos-1)
		subStrTab[#subStrTab + 1] = subStr
		local endPos = string.len(str)
		str = str.sub(str, pos+1, endPos)
	end

	return subStrTab
end

就是这么简单~~

时间: 2024-10-10 12:44:28

lua学习笔记14:字符串分割的相关文章

Perl语言学习笔记 14 字符串与排序

1.字符串内用index搜索 $where = index($words,$word); ##从words里找到首次出现word的位置,下标从0开始,查找失败则返回-1: 指定开始搜索的地方:$where = index($words,$word,10); ##从10开始往后寻找,包含10 搜索子串最后出现的位置: 限定返回的最大位置:$where = rindex($words,$word,10); ##只搜索下标为10以前的字符. 2.处理子串 substr参数:依次为:字符串.起始下标.要

lua学习笔记14:函数多返回值

Lua中函数可以返回多个值,为了说明不同情况下,返回值的个数,我们先声明如下几个函数: -- 无返回值 function fun0() end -- 一个返回值 function fun1() return 1 end -- 二个返回值 function fun2() return 1, 2 end -- 三个及多个返回值 function fun3() return 1, 2, 3 end 通常情况下,Lua会根据函数调用的不同情况自动调整返回值的有效个数.主要有以下几种情况: 1. 调用作为

Swift学习笔记(4)--字符串及基本使用

String是例如"hello, world","海贼王" 这样的有序的Character(字符)类型的值的集合,通过String类型来表示. Swift 的String类型与 Foundation NSString类进行了无缝桥接.如果您利用 Cocoa 或 Cocoa Touch 中的 Foundation 框架进行工作.所有NSString API 都可以调用您创建的任意String类型的值.除此之外,还可以使用本章介绍的String特性.您也可以在任意要求传

Lua学习笔记(三):表的构造

构造器是创建和初始化表的表达式.表是Lua特有的功能强大的东西.最简单的构造函数是{},用来创建一个空表.可以直接初始化数组: 1 days = {"Sunday", "Monday", "Tuesday", "Wednesday", 2 "Thursday", "Friday", "Saturday"} Lua将“Sunday”初始化days[1](第一个元素索引为

lua学习笔记(1)-基本语法

==============变量类型nilnumber(实数)    1 2 3.14 7.65e8string            "hello world" "\n"boolean(true false)    true falsefunction*userdata and threadstable(1)默认key初始化t = {a, "hello", b, "world"} (2)自定义key初始化t = {n1 =

Lua学习笔记(八):数据结构

table是Lua中唯一的数据结构,其他语言所提供的数据结构,如:arrays.records.lists.queues.sets等,Lua都是通过table来实现,并且在Lua中table很好的实现了这些数据结构. 1.数组 在Lua中通过整数下标访问table中元素,既是数组,并且数组大小不固定,可动态增长.通常我们初始化数组时,就间接地定义了数组的大小,例如: 1 a = {} -- new array 2 for i=1, 1000 do 3 a[i] = 0 4 end 5 6 --数

python基础教程_学习笔记14:标准库:一些最爱——re

标准库:一些最爱 re re模块包含对正则表达式的支持,因为曾经系统学习过正则表达式,所以基础内容略过,直接看python对于正则表达式的支持. 正则表达式的学习,见<Mastering Regular Expressions>(精通正则表达式) re模块的内容 最重要的一些函数 函数 描述 compile(pattern[,flags]) 根据包含正则表达式的字符串创建模式对象 search(pattern,string[,flags]) 在字符串中寻找模式 match(pattern,st

[转]LUA 学习笔记

Lua 学习笔记 入门级 一.环境配置 方式一: 1.资源下载http://www.lua.org/download.html 2.用src中的源码创建了一个工程,注释调luac.c中main函数,生成了一个exe,直接可以测试lua了 方式二(推荐): 从https://code.google.com/p/luaforwindows/ 下载“LuaForWindows_v5.1.4-46.exe”,一键安装即可  二.执行 lua xxx.lua 三.注释 1.行注释格式:-- 2.块注释格式

Lua学习笔记(六):函数-续

Lua中的函数是带有词法定界(lexical scoping)的第一类值(first-class values).第一类值指:在Lua中函数和其他值(数值.字符串)一样,函数可以被存放在变量中,也可以存放在表中,可以作为函数的参数,还可以作为函数的返回值.词法定界指:嵌套的函数可以访问他外部函数中的变量.这一特性给Lua提供了强大的编程能力. Lua中关于函数稍微难以理解的是函数也可以没有名字,匿名的.当我们提到函数名(比如print),实际上是说一个指向函数的变量,像持有其他类型的变量一样: