lua 字符串 栏目 Lua 繁體版
原文   原文链接
Lua 字符串
字符串或串(String)是由数字、字母、下划线组成的一串字符。

Lua 语言中字符串能够使用如下三种方式来表示:

单引号间的一串字符。
双引号间的一串字符。
[[]]间的一串字符。
以上三种方式的字符串实例以下:

string1 = "Lua"
print("\"字符串 1 是\"",string1)
string2 = 'w3cschool.cn'
print("字符串 2 是",string2)

string3 = [["Lua 教程"]]
print("字符串 3 是",string3)

以上代码执行输出结果为:

"字符串 1 是" Lua
字符串 2 是    w3cschool.cn
字符串 3"Lua 教程"
转义字符用于表示不能直接显示的字符,好比后退键,回车键,等。如在字符串转换双引号能够使用 "\""
字符串操做
Lua 提供了不少的方法来支持字符串的操做:

序号    方法 & 用途
1    string.upper(argument):
字符串所有转为大写字母。
2    string.lower(argument):
字符串所有转为小写字母。
3    string.gsub(mainString,findString,replaceString,num)
在字符串中替换,mainString为要替换的字符串, findString 为被替换的字符,replaceString 要替换的字符,num 替换次数(能够忽略,则所有替换),如:
> string.gsub("aaaa","a","z",3);
zzza 3
4    string.find (str, substr, [init, [end]])
在一个指定的目标字符串中搜索指定的内容(第三个参数为索引),返回其具体位置。不存在则返回 nil> string.find("Hello Lua user", "Lua", 1) 
7 9
5    string.reverse(arg)
字符串反转
> string.reverse("Lua")
auL
6    string.format(...)
返回一个相似printf的格式化字符串
> string.format("the value is:%d",4)
the value is:4
7    string.char(arg) 和 string.byte(arg[,int])
char 将整型数字转成字符并链接, byte 转换字符为整数值(能够指定某个字符,默认第一个字符)。
> string.char(97,98,99,100)
abcd


string.byte("ABCD",4)
68
string.byte("ABCD")
65


8    string.len(arg)
计算字符串长度。
string.len("abc")
3
9    string.rep(string, n))
返回字符串string的n个拷贝
> string.rep("abcd",2)
abcdabcd
10    ..
连接两个字符串
> print("www.w3cschool"..".cn")
www.w3cschool.cn
字符串大小写转换
如下实例演示了如何对字符串大小写进行转换:

string1 = "Lua";
print(string.upper(string1))
print(string.lower(string1))
以上代码执行结果为:

LUA
lua
字符串查找与反转
如下实例演示了如何对字符串进行查找与反转操做:

string = "Lua Tutorial"
-- 查找字符串
print(string.find(string,"Tutorial"))
reversedString = string.reverse(string)
print("新字符串为",reversedString)
以上代码执行结果为:

5    12
新字符串为   lairotuT auL
字符串格式化
如下实例演示了如何对字符串进行格式化操做:

string1 = "Lua"
string2 = "Tutorial"
number1 = 10
number2 = 20
-- 基本字符串格式化
print(string.format("基本格式化 %s %s",string1,string2))
-- 日期格式化
date = 2; month = 1; year = 2014
print(string.format("日期格式化 %02d/%02d/%03d", date, month, year))
-- 十进制格式化
print(string.format("%.4f",1/3))
以上代码执行结果为:

基本格式化 Lua Tutorial
日期格式化 02/01/2014
0.3333
字符与整数相互转换
如下实例演示了字符与整数相互转换:

-- 字符转换
-- 转换第一个字符
print(string.byte("Lua"))
-- 转换第三个字符
print(string.byte("Lua",3))
-- 转换末尾第一个字符
print(string.byte("Lua",-1))
-- 第二个字符
print(string.byte("Lua",2))
-- 转换末尾第二个字符
print(string.byte("Lua",-2))

-- 整数 ASCII 码转换为字符
print(string.char(97))

以上代码执行结果为:

76
97
97
117
117
a
其余经常使用函数
如下实例演示了其余字符串操做,如计算字符串长度,字符串链接,字符串复制等:

string1 = "www."
string2 = "w3cschool"
string3 = ".cn"
-- 使用 .. 进行字符串链接
print("链接字符串",string1..string2..string3)

-- 字符串长度
print("字符串长度 ",string.len(string2))


-- 字符串复制 2 次
repeatedString = string.rep(string2,2)
print(repeatedString)

以上代码执行结果为:

链接字符串     www.w3cschool.cn
字符串长度     9
w3cschoolw3cschool
相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
本站公众号
   欢迎关注本站公众号,获取更多信息