Lua 字符串函数

Lua 字符串函数

#!/usr/bin/lua
--[[
    字符串相关的函数
    -   find 查找字符串 返回被查找字符串的开始索引和结束索引 没有找到返回nil
    -   string.find(substr,string,startIndex)
    - len 求字符串的长度    
--]]
function max(a,b)
    return a > b and a or b;
end

print("max : "..max(100,200))

local str = "St123ring809"
local s,e = string.find(str,"123")
print(s,e)

s,e = string.find(str,"1235")
print(s,e)

s,e = string.find(str,"%d+")
print(s,e)

-- 字符串长度
local sName = "konglingchao"
local len = string.len(sName)
print("len : ", len)

-- # 也可求取字符串长度  和 Shell一样
len = #sName
print("len : ", len)

-- 大小写转换
print(string.lower("KONGLINGCHAO"))
print(string.upper("konglingchao"))

-- 字符串截取函数
print(string.sub(sName,5)) -- 截取至最后
print(string.sub(sName,5,-5)) --前后均包含

--格式化输出
print(string.format("pi = %.4f",math.pi))

-- 模糊匹配
local dateTime = "Date : 2023/12/29"
print(string.match(dateTime,"%d+/%d+/%d+"))

--替换 
local str = "this is best"
print(string.gsub(str,"best","test")) -- 返回替换后的字符串和出现的次数

local count = 0
local status = "1000000000|1100000001|1100000005|1100000007|1100000034|1200000048|1200000049|1200000052|1200000053|1200000055|1200000061|1200000062"
status,count = string.gsub(status,"|",",")
print(status,count)

--在多个返回值中选择指定的值
count = select(1,string.gsub(status,'|',','))
print("count : "..count)

-- 调用一次返回一个匹配的值 下次调用继续往下匹配
local test = "this is a gmatch test"
local count = 0
for w in string.gmatch(status,"%d+") --匹配第一个数字
do
    print("gmatch : "..w)
    count = count + 1
end
print("count : "..count)

for w in string.gmatch(test,"%a+")
do
    print(w)
end

-- 字符串返回
print(string.reverse("abcdefghijk"))

--字符串转换函数
local str  = tostring(830051)
print("str : "..str)
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值