1

わかりました。テキスト文字列が文字化けしているので、小文字、大文字、数値を文字列から3つのサブ文字列に抽出し、後でそれらを目的に使用したいと思います。私は現在このようなコードを持っています:

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行に対して、これら3つの別々の抽出を使用するかどうかはわかりません。より効率的な方法はありますか?または私の方法は可能な限り最良の解決策ですか?

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 に答える