好的,我有一些乱码文本字符串,我想从字符串中提取小写字符,大写字符和数值到三个子字符串,然后将它们用于我的目的。我目前有这样的代码:
sInput = "AWSEDRGY VGIYCfry2345ewScfvg gyiFvyGXSCyuI^RSfv GYD&K^dfyUODvl234SDv8p7ogYHS"
local sLower, sUpper, sNumbers = "", "", ""
sInput:gsub("%l", function(s) sLower=sLower..s end)
sInput:gsub("%u", function(s) sUpper=sUpper..s end)
sInput:gsub("%d", function(s) sNumbers=sNumbers..tostring(s) end)
print( sLower, sUpper, sNumbers )
这很好用。我只是不确定是否使用这三个单独的提取来处理近30,000行这样的乱码文本。有更有效的方法吗?或者我的方式是最好的解决方案?
答案 0 :(得分:3)
尝试使用补充类:
sInput = "AWSEDRGY VGIYCfry2345ewScfvg gyiFvyGXSCyuI^RSfv GYD&K^dfyUODvl234SDv8p7ogYHS"
local sLower = sInput:gsub("%L","")
local sUpper = sInput:gsub("%U","")
local sNumbers = sInput:gsub("%D","")
print( sLower, sUpper, sNumbers )