Lua实战之统计字符串中任意字符出现的次数

本文介绍了一种使用Lua语言实现的算法,该算法可以统计给定字符串中每个字符的出现次数。通过实例演示了如何创建一个函数getCharOccurrenceCnt,输入为一个字符串,输出为一个记录各字符及其出现次数的表格。

Description

求出指定字符串中任意字符出现的次数!
e.g.
指定字符串:"Hello World!"
"H"出现1次,"e"出现1次,"l"出现3次,"o"出现2次,"W"出现1次,"r"出现1次,"d"出现1次,空格出现1次,"!"出现1次!

Implemention

local LogManager = require("LogManager")

local testStr = "Hello World!"

function getCharOccurrenceCnt(targetStr)
    local retTbl = {}
    for s in string.gmatch(targetStr, ".") do
        if retTbl[s] then
            retTbl[s] = retTbl[s] + 1
        else
            retTbl[s] = 1
        end
    end
    return retTbl
end

LogManager:dump(getCharOccurrenceCnt(testStr), "retTbl")

--[[
- "retTbl" = {
-     " " = 1
-     "!" = 1
-     "H" = 1
-     "W" = 1
-     "d" = 1
-     "e" = 1
-     "l" = 3
-     "o" = 2
-     "r" = 1
- }
]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fightsyj

您的鼓励将是我分享的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值