Lua string 字符串

  • 字符串由一对双引号或单引号来表示
string1 = "this is string1"   
string2 = 'this is string2'
  • 也可以用”[[]]”来表示
html = [[



    w3cschool Lua学习


]]
print(html)

执行结果

<html>
<head>head>
<body>
    <a href="http://www.w3cschool.cc/">w3cschool菜鸟教程a>
body>
html>

在对一个数字字符串上进行算术操作时,Lua会尝试将这个数字字符串转成一个数字:

print("2" + 6)        -- 8.0
print("2" + "6")      --8.0
print("2 + 6")        --2 + 6
print(2 .. 6)         --26
print(tostring(10) == "10")     --true  
print(10 .. "" == "10")         --true

取字符串的长度,注意lua的下标是从1开始。

a = "hello"  
print(#a)                       --5 

字符串方法

  • string.upper(argument)

字符串全部转为大写字母

string1 = "Lua";
print(string.upper(string1))  -->LUA
  • string.lower(argument)

字符串全部转为小写字母

string1 = "Lua";
print(string.lower(string1))  -->lua
  • string.gsub(mainString,findString,replaceString,num)

在字符串中替换,mainString为要替换的字符串, findString 为被替换的字符,replaceString 要替换的字符,num 替换次数(可以忽略,则全部替换)

print(string.gsub("aaaa","a","z",3))  -->zzza  3
  • string.find (str, substr, [init, [end]])

在一个指定的目标字符串中搜索指定的内容(第三个参数为索引),返回其具体位置。不存在则返回 nil

print(string.find("Hello Lua user", "Lua"))  -->7  9
  • string.reverse(arg)

字符串反转

print(string.reverse("Lua"))  -->auL
  • string.format(…)

返回一个类似printf的格式化字符串

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
  • string.char(arg) 和 string.byte(arg[,int])

char 将整型数字转成字符并连接, byte 转换字符为整数值(可以指定某个字符,默认第一个字符)

print(string.char(97,98,99,100))  -->abcd

print(string.byte("ABCD",4))  -->68

print(string.byte("ABCD"))  -->65
  • string.len(arg)

计算字符串长度

print(string.len("abc"))  -->3
  • string.rep(string, n))

返回字符串string的n个拷贝

ptint(string.rep("abcd",2))  -->abcdabcd
  • ..

链接两个字符串

print("aa".."cc")  -->aacc

你可能感兴趣的:(Lua)