Lua string字符串相关操作

前言

字符串操作是 区分大小写的

一、字符串赋值

“” or ‘’ 双引号或单引号 都表字符串

string1 = "a"
string2 = 'b'
print(string1,string2) --输出 a	b

二、字符串组拼

-- ..才是字符串组拼
string1 = "1"
string2 = '2'
string3 = string1..string2
print(string3)              --输出 20

三、字符串加法

print('2'+'7')       --输出9
--print('2'+'7a')    --报错,因为7a转化是string  而不是number
print('2+7')         --输出 2+7,不做运算
print('2e2'+'7')     --输出 207,2e2符合科学计数法,可以运算

四、字符串的长度

string1 = 'abcd'
print(#string1)     --输出 4

str = "My Name is Kami"
s1 = string.len(str)
print(s1)     --输出 15

五、字符串大小写转换

str = "My Name is Kami"
s1 = string.upper(str) --大写
print(s1)    --输出 MY NAME IS KAMI
s1 = string.lower(str) --小写
print(s1)    --输出 my name is kami

六、字符串替换

str = "My Name is Kami"
s1 = string.gsub(str,"a","A") --字符串替换
print(s1)    --输出 My NAme is KAmi
s1 = string.gsub(str,"a","A",1) --最后一个参数表示替换的次数
print(s1)    --输出 My NAme is Kami

七、字符串查找索引

str = "My Name is Kami"
s1 = string.find(str,"na") --查找索引
print(s1)    --输出 nil
s1 = string.find(str,"Na")
print(s1)    --输出 4
s1 = string.find(str,"Na",20) --最后一个参数表示,从第几个索引开始查找
print(s1)    --输出 nil
s1 = string.find(str,"Na",3)
print(s1)    --输出 4

八、字符串反转

str = "My Name is Kami"
s1 = string.reverse(str) --字符串反转
print(s1)     --输出 imaK si emaN yM

九、字符串格式化

str = "My Name is Kami"

s1 = string.format(str.."= %d ",1)
print(s1)     --输出 My Name is Kami= 1
s1 = string.format(str.."= %s ","a")
print(s1)     --输出 My Name is Kami= a

s1 = string.format(str.."= %d %02d %03d %04d %05d %d %f",1,2,3,0.4,0.5,0.6,0.7) --%0 补充位数
print(s1)     --输出 My Name is Kami= 1 02 003 0000 00000 0 0.700000

s1 = string.format(str.."= %f",1)
print(s1)     --输出 My Name is Kami= 1.000000
s1 = string.format(str.."= %3f",1.2)
print(s1)     --输出 My Name is Kami= 1.200000
s1 = string.format(str.."= %0.3f",1.2)
print(s1)     --输出 My Name is Kami= 1.200
s1 = string.format(str.."= %3.3f",1212.2)
print(s1)     --输出 My Name is Kami= 1212.200
s1 = string.format(str.."= %2f",1212.2)
print(s1)     --输出 My Name is Kami= 1212.200000

十、将整型数字转成字符

s1 = string.char(97)
print(s1) -- 输出 a
s1 = string.char(97,98,99,100) --将整型数字转成字符并连接
print(s1) -- 输出 abcd

s1 = string.byte("ABCD") --默认第一个字符
print(s1) -- 输出 65
s1 = string.byte("ABCD",4) --转换字符为整数值(可以指定某个字符,默认第一个字符)。
print(s1) -- 输出 68

s1 = string.char(120)
print(s1) -- 输出 x
s1 = string.byte("q")
print(s1) -- 输出 113

十、字符串n次拷贝

str = "My Name is Kami"
s1 = string.rep(str,3)
print(s1) -- 输出 My Name is KamiMy Name is KamiMy Name is Kami

十一、字符串截取

str = "My Name is Kami"
s1 = string.sub(str,1,2)
print(s1) -- 输出 My

str = "710.5"
s1 = string.sub(str,4,5)
print(s1) -- 输出 .5

十二、字符串格式化其他操作

s1 = string.format("%c", 83)                 -- 输出S
print(s1)

s1 = string.format("%+d", 17.0)              -- 输出+17
print(s1)

s1 = string.format("%05d", 17)               -- 输出00017
print(s1)

s1 = string.format("%o", 17)                 -- 输出21
print(s1)

s1 = string.format("%u", 3.14)               -- 输出3
print(s1)

s1 = string.format("%x", 13)                 -- 输出d
print(s1)

s1 = string.format("%X", 13)                 -- 输出D
print(s1)

s1 = string.format("%e", 1000)               -- 输出1.000000e+03
print(s1)

s1 = string.format("%E", 1000)               -- 输出1.000000E+03
print(s1)

s1 = string.format("%6.3f", 13)              -- 输出13.000
print(s1)

s1 = string.format("%q", "One\nTwo")         -- 输出"One\
											 --   Two"
print(s1)

s1 = string.format("%s", "monkey")           -- 输出monkey
print(s1)

s1 = string.format("%10s", "monkey")         -- 输出    monkey
print(s1)

s1 = string.format("%5.3s", "monkey")        -- 输出  mon
print(s1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值