| API说明—基本定义 |
● 将变量值转化为数值型
● 将变量转化为字符串值
● 获取指定变量的类型
● 字符串局部替换
● 统计字符串长度
● 将字符串中的所有大写转化为小写
● 搜索字符串中匹配的模式
● 检查一段字符在字符串中重复次数
● 将原有字符串倒转
● 读取字符串中的指定位置
● 将字符串中的所有小写转化为大写
● 将数组连接起来,并且在中间以特定元素隔开
● 在数组中插入一个值
● 返回数组的最大正索引数
● 从数组中删除一项
将变量值转化为数值型
函数:
float uTonumber(e,base);
参数:
(1) e:指定变量名
(2) base:要转换成数值的进制,若不填,默认为十进制
返回值:
如果参数已经是一个数值型的数字或者一个字符串型的数字,则返回这个数字,并且返回的是数值型,否则返回nil。
Eg:
(1) a = "10";
b = uTonumber(a);
--b为10,但是b与a不相等,a为字符串,b为数值。
(2) a = "abc";
b = uTonumber(a);
--b的值为nil
将变量转化为字符串值
函数:
string uTostring(e);
参数:
(1) e:指定变量名
返回值:
可以将任意类型值转化成字符串值。
Eg:
(1) a = 10
b = uTostring(a);
--b为10,但是b与a不相等,a为数值,b为字符串。即b为”10”。
获取指定变量的类型
函数:
string uType(v);
参数:
(1) v:指定变量名
返回值:
变量类型名称。
备注:
(1) 返回变量的类型。可能的结果,这一函数是"nil" (一个字符串,而不是价值为零) ,"number", "string", "boolean", "table", "function", "thread", 和 "userdata"。
Eg:
(1) v = "abc" ;
a = uType(v);
--a的值为”string”。
字符串局部替换
函数:
string uGsub(s,pattern,relp,n);
参数:
(1) s:原字符串
(2) pattern:指定一个段字符,所有s中出现的该部分将被替换
(3) relp:一串新的字符串,将用它来替换pattern
(4) n:替换次数,若不填,默认为全部替换
返回值:
替换完成后的新字符串。同时,返回替换的次数。
备注:
返回复制s的所有出现的pattern的位置已被替换成替换字符串指定的repl的新字符串 ,s可能是一个字符串,一个表,或函数。同时,返回替换的次数。
Eg:
(1) s = uGsub("lua is cute","cute","great");
--s为lua is great
(2) s,a = uGsub("all lii","l","x","2");
--s为axx lii,a为2
(3) count = select(2,uGsub(str, " "," "));
--可用来统计str中的空格数量
统计字符串长度
函数:
string uLen(s);
参数:
(1) s:需要计算长度的字符串
返回值:
字符串的长度,为整数型
备注:
统计字符串s的长度,空字符串”“长度为0,转译不计。
Eg:
(1) s = uLen("abcdefg");
--s为数值7
将字符串中的所有大写转化为小写
函数:
string uLower(s);
参数:
(1) s:需要转换的字符串
返回值:
转换以后的字符串
备注:
将字符串中所有大写转化为小写,小写不变。与之相反的是string.upper(s)函数,将所有小写转化为大写。
Eg:
(1) s = uLower("ABCabc");
--s为”abcabc”
搜索字符串中匹配的模式
函数:
string uMatch(s,pattern,init);
参数:
(1) s:需要搜索的字符串
(2) pattern:可以称作一个事件,既一段字符,将在s中进行与之匹配的搜索
(3) init:相当于一个索引,即从何处开始搜索
返回值:
相匹配的部分
备注:
如果s和pattern都是固定值,这个函数就没有什么意义了,它的作用在于对于变量的搜索。
Eg:
(1) date = "today id 11/14/2008";
d = uMatch(date,"%d+/%d+/%d+");
--d为”11/14/2008”
函数:
int uRep(s.n);
参数:
(1) s:需要重复字符串
(2) n:重复的次数
返回值:
n为重复数量,如填写数量不为整数时,会自动取整。
备注:
将s重复n次。
Eg:
(1) s = uRep ("ABC","2.325");
--s为”ABCABC”
读取字符串中的指定位置
函数:
string uSub(s,i,j);
参数:
(1) s:需要读取的原字符串
(2) i:读取的开始位置
(3) j:读取的结束位置
返回值:
读取出来的字符串
备注:
i和j可以是负值,负值为倒数第几位,若j不填,则默认为-1,i表示的位置必须不大于j表示的位置。
Eg:
(1) s = uSub("abcdef",2);
--s为”bcdef”
(2) s = uSub("abcdef",-4);
--s为”cdef”
(3) s = uSub("abcdef",3,5);
--s为”cde”
(4) s = uSub("abcdef",-2,-5);
--s为空值,因为-2大于-5
将字符串中的所有小写转化为大写
函数:
string uUpper(s);
参数:
(1) s:需要转换的字符串
返回值:
转换以后的字符串
备注:
将字符串中所有小写转化为大写,大写不变。与之相反的是string.lower(s)函数,将所有大写转化为小写。
Eg:
(1) s = uUpper("ABCabc");
--s为”ABCABC”
将数组连接起来,并且在中间以特定元素隔开
函数:
string uConcat(table,sep,i,j);
参数:
(1) table:原数组
(2) sep:一个特定元素,可以使字符串或者数值
(3) i:table中的起始位置
(4) j:table中的结束位置
返回值:
转换以后的字符串,为字符串型
备注:
如sep不填,则默认为空字符串,若i不填,则默认为起始位置,若j不填,则默认为结束位置。特别是如果希望规定i的值,必须在sep位置添加空变量”“;同样,若希望规定参数j,则必须要在前面填sep和i的值
Eg:
(1) a = { };
for i = 1,10 do
a[i] = i;
end
s = uConcat(a,"t",2,6);
--s为”2t3t4t5t6”
在数组中插入一个值
函数:
uInsert(table, pos,value);
参数:
(1) table:原数组
(2) pos:需要插入值的位置,如果不填,默认位置为数组最后
(3) value:需要插入的数值
返回值:
无
备注:
在数组中pos位置插入一个值,该位置原来的值和它之后的所有值都后移一位
Eg:
(1) a = { };
for i = 1,9 do
a[i] = i;
end
uInsert(a,2,"t");
s = uConcat(a);
--s为1t23456789
返回数组的最大正索引数
函数:
int uMaxn(table);
参数:
(1) table:需要检测的数组
返回值:
数组的最大正索引数
备注:
并不检查数组中有没有未赋值的项,只检测数组最后一项的索引数
Eg:
(1) a = { };
for i = 1,9 do
a[i] = i;
end
uMaxn(a);
--s为9
(2) a = { };
a[5] = “abc”;
uMaxn(a);
--s为5
从数组中删除一项
函数:
uRemove(table,pos);
参数:
(1) table:原数组
(2) pos:需要删除的位置,如果不填,默认位置为数组最后
返回值:
从数组中删除元素的位置,为整数型。
备注:
删除数组中pos位置的值,该位置原来的值和它之后的所有值都前移一位
Eg:
(1) a = { };
for i = 1,9 do
a[i] = i;
end
b = uRemove(a,2);
--b为整数2,a[2]为整数3