-- -- テキストファイルを読み出し、テーブルを表示する -- --グローバル変数宣言---------------------- Path = ".\\" --luaファイルを保存しているPath(相対 or 絶対) Fname = "regexp_input.txt" ------------------------------------------ --文字の分解 ------------------------------------------ function split(str, d) local s = str local t = {} local p = "%s*(.-)%s*%p%s*" --%pは区切り文字を示す local f = function(v) table.insert(t, v) end if s ~= nil then string.gsub(s, p, f) -- 最後の要素より前の要素を処理する f(string.gsub(s, p, "")) -- 最後の要素はカンマで区切られていないときにマッチしないので、その前の値を空白で置き換えてからマッチさせる end return t end ------------------------------------------ --テキストファイルを読み込む ------------------------------------------ function readdata( filename ) local fp local msg local str local t={} local i = 1 --ファイルを開く fp,msg = io.open( filename, "r") if( not(fp) )then print( "Can't open "..Path..Fname) return end --CSVデータを読み込みます while(true)do str = fp:read("*l") --1行読み込み if( str==nil )then break end --読込むデータが無ければ終了 str = string.gsub( str,"\r","" ) --改行コードを外す t = split( str ) -- テーブル内容出力 io.write("["..i.."]["..#t.."]\t") for x = 1, #t do io.write(t[x].."\t") end print("") i = i + 1 end io.close(fp) end ------------------------------------------ --メインプログラム ------------------------------------------ function main() --CSVファイルを読み込みます readdata( Path..Fname ) end main()