【懒人精灵】去除字符串中的空格、标点、符号等内容

前言

有时候在使用OCR找字的过程中,要进行正则匹配。这时候可能需要去除空格和标点符号。

实现

在 Lua 中,%p 匹配的是标点符号,但不包括一些常见的空格字符,如空格、制表符、换行符等。

%s 匹配的是空白字符,但对于连续的空格,str:sub(i, i) 每次只处理一个字符,可能导致部分空格没有被正确处理。

可以使用 string.gsub 函数,它可以方便地替换匹配模式的所有出现,而不是逐个字符检查。

function removeSpecialChars(str)
    -- 使用 string.gsub 函数将匹配到的空格和标点符号替换为空字符串
    local result = string.gsub(str, "%p+", "")
    result = string.gsub(result, "%s+", "")
    return result
end

local str = "Hello, World!  This is a test."
local newStr = removeSpecialChars(str)
print(newStr)

代码解释

  1. 定义了一个名为 removeSpecialChars 的函数,它接受一个字符串参数 str
  2. 首先使用 string.gsub(str, "%p+", "") 将字符串 str 中所有的标点符号(%p 表示标点符号,+ 表示一个或多个)替换为空字符串,结果存储在 result 中。
  3. 然后使用 string.gsub(result, "%s+", "")result 中所有的空格字符(%s 表示空格字符,+ 表示一个或多个)替换为空字符串。
  4. 最后返回处理后的结果。

调用该函数时,将输入字符串 str 传递给 removeSpecialChars 函数,函数会先去掉所有的标点符号,再去掉所有的空格字符,得到一个只包含字母、数字等非特殊字符的字符串,存储在 newStr 中,并将其打印出来。

通过这种方式,可以更简洁和准确地去掉字符串中的空格和标点符号,避免了对连续空格处理不完善的问题。

1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520飞云脚本圈
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】去除字符串中的空格、标点、符号等内容

企业级大数据智能营销管理系统

了解详情