脚本进阶教程 位置导航:首页 > 资料中心 > 脚本进阶教程
   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



将原有字符串倒转

函数:
string uRreverse(s);

参数:
(1) s:需要倒转的字符串

返回值:
转换以后的字符串

备注:
将字符串前后颠倒过来,并返回。

Eg:
(1) s = uRreverse("abcdef");
      --s为”fedcba”
.
公司介绍  |  由我博客  |  招聘信息  |  商务合作 |  媒体合作  |  联系我们  |  新浪微博  |  开心多尼
优万科技(北京)有限公司 版权所有 京ICP证08336号 ISBN 978-7-900648-32-7 《网络文化经营许可证》编号:文网文[2009]076号 新出网证(京)字099号
Copyright (C)2007-2010 UOneNet CO., LTD. All Rights Reserved.