• lua字符串表的高级用法


    1.字符串相加

    --字符串和字符串相加
    print(lhs_str .. rhs_str) -- +, ..
    --字符串和基本的数据相加
    print(lhs_str .. 8)
    print(lhs_str .. 8.3)
    --end
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.数字转字符串

    --数字转字符串
    print(tostring(8.4))
    print("" .. 8.4)
    local value = 7
    print("" .. value)
    --字符串转数字
    print(tonumber("9.6"))
    --end
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.字符串相关的api

    
    --求我们的字符串的字节数
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    4.表

    
    --数组部分,--> 索引从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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
  • 相关阅读:
    SM2签名算法中随机数K的随机性对算法安全的影响
    这部《从零开始学架构》神书就此霸榜
    又双叒叕!微信8.0.42内测更新来了!
    外部访问win服务器的mysql数据库
    matlab绘制局部放大图
    【EndNote X9.1 汉化版使用指南】
    ChatGpt介绍和国产ChatGpt对比
    (附源码)ssm考试题库管理系统 毕业设计 069043
    阿里3年女软件测试工程师心声,当下最好的消息,莫过于我拿到了25K的offer
    LeetCode刷题---LRU缓存
  • 原文地址:https://blog.csdn.net/u011048906/article/details/132942100