lua字符串表的高级用法

1.字符串相加

lua 复制代码
--字符串和字符串相加
print(lhs_str .. rhs_str) -- +, ..
--字符串和基本的数据相加
print(lhs_str .. 8)
print(lhs_str .. 8.3)
--end

2.数字转字符串

lua 复制代码
--数字转字符串
print(tostring(8.4))
print("" .. 8.4)
local value = 7
print("" .. value)
--字符串转数字
print(tonumber("9.6"))
--end

3.字符串相关的api

lua 复制代码
--求我们的字符串的字节数
local str = "HelloWorld!!!"
print(string.len(str))
--end

str = string.rep("hello", 3)
print(str) -- "hellohellohello"

--大小写的转化
str = "AAbbCCdd"
str = string.lower(str)
print(str)

str = string.upper(str)
print(str)
--end

--索引第一个是从1开始的,不是从0开始的;
str = string.sub("HelloWorld", 2, 5) -- ello
print(str)
--end 

-- // 2017-10-2
local date = string.format("%d-%d-%d", 2017, 10, 2)
print(date)
--end

-- 索引从1开始,而不是从0开始
str = "HelloWorld"
local index = string.find(str, "World")
print("World at pos: " .. index)
--end

--字符串对象的替换
str = "helllllloworld"
str = string.gsub(str, "ll", "ww", 2) --替换次数可选,如果没有指定,那么就全部替换;
print(str)
--end

4.表

lua 复制代码
--数组部分,--> 索引从1开始(lua特色),
local list_table = {1, 2, 3, 4, 5}
--数组部分你的访问,从索引(1)开始,
--非数组部分,就是我们的key来访问的
print(list_table[1], list_table[2], list_table[3])
list_table[11] = 11
list_table.test_key = "test_value"
print(list_table["test_key"])
print(list_table[11])
--返回lua表里面数组部分的长度
-- 必须要求是连续的
print(#list_table) -- 必须要求索引是连续的
--end


--遍历lua里面的数组部分的数据
local index = 1
for index = 1, #list_table do 
	print(list_table[index])
end
--end

print("#######")
--遍历lua表里面的数组部分:
local k, v
for k, v in ipairs(list_table) do 
	print(k, v)
end
--end

print("&&&&&&&&")
--遍历表里面所有的数据
for k, v in pairs(list_table) do 
	print(k, v)
end
--end
--一定是连续的整数索引,否者就不算数组部分;
--往数组部分里面插入一个元素
--如果不指定pos,就会插入到数组部分的最后
table.insert(list_table, 2, 8)
table.remove(list_table, 2)


for k, v in ipairs(list_table) do 
	print(k, v)
end

-- 返回这个表里面有多少元素,包括了数组部分
--和 #的功能类似
print(table.getn(list_table))


--对表进行排序
local array_data = {3, 2, 5, 7, 9, 6}
table.sort(array_data)

--使用自己的比较函数来进行排序
local function comp1(lhs, rhs)
	if lhs < rhs then
		return false
	else
		return true
	end
end

table.sort(array_data, comp1)
for k, v in ipairs(array_data) do 
	print(k, v)
end
相关推荐
什么都想学的阿超20 小时前
【Redis系列 03】掌握Redis编程艺术:事务、管道与Lua脚本完全指南
redis·junit·lua
编程乐学(Arfan开发工程师)1 天前
42、响应处理-【源码分析】-浏览器与PostMan内容协商完全适配
java·spring boot·后端·测试工具·lua·postman
啾啾Fun1 天前
【Java微服务组件】分布式协调P4-一文打通Redisson:从API实战到分布式锁核心源码剖析
java·redis·分布式·微服务·lua·redisson
多多*1 天前
LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考
linux·开发语言·redis·python·bootstrap·lua
修电脑的猫2 天前
带有输入的CDS和程序调用
开发语言·lua
代码丰2 天前
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
java·分布式·lua
wcjwdq3 天前
Lua和JS的继承原理
javascript·lua·脚本继承
哈哈哈哈哈哈哈哈哈...........3 天前
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
tcp/ip·nginx·lua
程序猿多布6 天前
Unity使用Lua框架和C#框架开发游戏的区别
unity·c#·lua
chiou7226 天前
为 Ubuntu 安装的软件创建桌面图标
linux·ubuntu·lua