Cocos2d-x   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了cocos2d-lua敏感词过滤函数大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
function cc.splitStringToWords(str)
    local words = {}
    for uchar in string.gfind(str,"[%z\1-\127\194-\244][\128-\191]*") do
        words[#words+1] = uchar
    end
    return words
end

function cc.filterSensitiveWord(str)
    local filter = {
        [" "] = true,["。"] = true,[","] = true,["、"] = true,[";"] = true,[":"] = true,["’"] = true,["‘"] = true,["."] = true,[","] = true,["/"] = true,[";"] = true,[":"] = true,["'"] = true,}

    print("原字符:",str)
    local words = cc.splitStringToWords(str)
    local exist = false
    local pos = 1
    while pos <= #words do
        local tmp = pos
        local t = cc.csvData["sensitive_words"][words[pos]]
        while t ~= nil do
            if next(t) then
                tmp = tmp +1
                if filter[words[tmp]] then
                    tmp = tmp +1
                end
                t = t[words[tmp]]
            else
                print("find",pos,tmp)
                exist = true
                for i=pos,tmp do
                    if filter[words[i]] ~= true then
                        words[i] = "*"
                    end
                end
                break
            end
        end
        if tmp ~= pos then
            pos = tmp
        else
            pos = pos +1
        end
    end
    local newStr = ""
    if exist then
        for i=1,#words do
            newStr = newStr .. words[i]
        end
    else
        newStr = str
    end
    print("过滤后:",newStr)
    return newStr
end



csv = path.."config/sensitive_words.csv"
    cc.csvData["sensitive_words"] = {}
    cc.praseCSV(csv,function (idx,vals)
            local words = cc.splitStringToWords(vals["code"])
            --print("word",vals["code"],#words)
            local t = cc.csvData["sensitive_words"]
            local pos = 1
            while pos <= #words do
                if not t[words[pos]] then
                    t[words[pos]] = {}
                end
                t = t[words[pos]]
                pos = pos+1
            end
        end)
单词
code
习大大

大佬总结

以上是大佬教程为你收集整理的cocos2d-lua敏感词过滤函数全部内容,希望文章能够帮你解决cocos2d-lua敏感词过滤函数所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: