1

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

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 行此类乱码文本。有没有更有效的方法?还是我的方式是最好的解决方案?

4

1 回答 1

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 )
于 2012-06-27T10:52:07.087 回答