0

だから私はこの文字列を持っています:

{"scores":{"1":["John",60],"2":["Jude",60],"3":["Max",60],"4":["Kyle",60],"5":["Smith",60],"6":["Mark",50],"7":["Luke",40],"8":["Anne",30],"9":["Bruce",20],"10":["kazuo",10]}}

引用符で囲まれた整数がいくつかありますが、それらを取り除きたいと思います。それ、どうやったら出来るの?私はすでに試しました:

print(string.gsub(string, '/"(\d)"/', "%1"));

しかし、それは機能しません。:(

4

1 に答える 1

2

Lua にはPerl のような正規表現はありませんが、代わりにpatternがあります。これらは似ていますが、いくつかの違いがあります。

スラッシュで区切る必要はなく/ /、エスケープ文字はありますが、そうでは%ありません\。それ以外の場合、あなたの試行は本質的に正しいです:

print(string.gsub(str, '"(%d+)"', "%1"))

str入力文字列を含む変数はどこにありますか。また、は2 つstring.gsubの値を返し、両方とも出力されます。2 番目の結果は置換の数です。最初の結果のみを保持するには、余分な括弧のペアを使用します。

:コロン演算子を使用して、表記を少し簡略化できます。

print((str:gsub('"(%d+)"', "%1")))
于 2012-09-19T13:05:14.773 に答える