从字符串中提取各种字符(替代方法)

时间:2012-06-27 07:32:26

标签: regex lua text-extraction

好的,我有一些乱码文本字符串,我想从字符串中提取小写字符,大写字符和数值到三个子字符串,然后将它们用于我的目的。我目前有这样的代码:

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行这样的乱码文本。有更有效的方法吗?或者我的方式是最好的解决方案?

1 个答案:

答案 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 )