前言
有时候在使用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)
代码解释
- 定义了一个名为
removeSpecialChars
的函数,它接受一个字符串参数str
。 - 首先使用
string.gsub(str, "%p+", "")
将字符串str
中所有的标点符号(%p
表示标点符号,+
表示一个或多个)替换为空字符串,结果存储在result
中。 - 然后使用
string.gsub(result, "%s+", "")
将result
中所有的空格字符(%s
表示空格字符,+
表示一个或多个)替换为空字符串。 - 最后返回处理后的结果。
调用该函数时,将输入字符串 str
传递给 removeSpecialChars
函数,函数会先去掉所有的标点符号,再去掉所有的空格字符,得到一个只包含字母、数字等非特殊字符的字符串,存储在 newStr
中,并将其打印出来。
通过这种方式,可以更简洁和准确地去掉字符串中的空格和标点符号,避免了对连续空格处理不完善的问题。
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】去除字符串中的空格、标点、符号等内容
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 【懒人精灵】去除字符串中的空格、标点、符号等内容