string.gsubは文字列リテラルの改行文字を認識しますか?私はそうのような改行にオペレータの開始から与えられたオペレータによって示された文字列の部分をGSUBしようとしていたシナリオを持っている:Luaの改行文字を含むパターンを含む文字列をgububbing
local function removeComments(str, operator)
local new_Sc = (str):gsub(operator..".*\n", "");
return new_Sc;
end
local source = [[
int hi = 123; //a basic comment
char ok = "abc"; //another comment
]];
source = removeComments(source, "//");
print(source);
しかし出力に私はそれが削除されたことを見ます最初のコメントの後に文字列リテラルの残り:
int hi = 123;
が、私はそう(str):gsub(operator..".*"..string.char(10), "");
ようstring.char(10)
を使用してリテラルの改行文字を使用してみましたが、しかし私はまだ同じ出力を得ました。改行のコメントの先頭ではなく、コメントと残りの文字列を削除します。
改行文字を含むパターンの文字列リテラルをgsubするにはどうしますか?
おかげ