lua常用字符分离(gmatch)及替换(gsub)模式实例

lua常用字符分离(gmatch)及替换(gsub)模式实例

  1. 分离字符
local function stringSplit(param)--分离字符
    local pattern = {}
    if string.find(param, "\n") ~= nil then
        for k, v in param:gmatch('([^=]+)=([^\n]*)\n?') do
            --print(k, v)
            pattern[k] = v
        end
    else
        for k, v in param:gmatch('([^=]+)=([^,]*),?') do
            --print(k,"   ", v)
            pattern[k] = v
        end
    end
    return pattern
end
--  分离字符
local function StringToTable(s)
    local tb = {}
    for utfChar in string.gmatch(s, "[%z\1-\127\194-\244][\128-\191]*") do
        table.insert(tb, utfChar)
    end
    return tb
end
local function test() --分离字符
    local s="xx千里之外12"
    for k,v in pairs(StringToTable(s)) do
        print("v1:",v,"  k:",k)
    end

    local param=  "0==123\nWOOD==555\nIRON==4\nSTONE==9\nFOOD==11"
    local pattern={}
    for k, v in pairs(stringSplit(param)) do
        pattern[k] = v
        print("k:",k,"  v:",v)
    end
end
  1. 字符替换
local function test2() --字符替换
    local y="{AA},{BB}"
    local conKeyName={
        AA=3,
        BB=6,
    }
    local cc=y:gsub('{([^}]+)}',conKeyName) --字符替换
    print("cc:",cc) --3,6

    local formatted=-123456789
    formatted= string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2') --字符替换
    print("formatted:",formatted) --123456,789
end
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值