2012-03-12 24 views
2

私の前回のLuaの試行では、多かれ少なかれ同じLuaリソースの広範なGoogle検索が行われ、基本的なものを得るためのいくつかのマルチラインコードが得られました。簡単なコマンドでPython。再びLua string.gsub印刷一致回数なし

同じ、私は、文字列から部分文字列を置換し、使用したいつまり:私は交換を想像1

私の事:その結果

string.gsub("My string", "str", "th")

カウントは有用かもしれませんが、誰がデフォルトでそれを期待し、それを抑止するオプションはありませんが、多分私は何かを見逃していますか?

カウンタを使用せずに文字列結果を印刷するにはどうすればよいですか?

答えて

5

括弧内は、(string.gsub("My string", "str", "th"))です。

+3

'string.gsub'の前後にある括弧は、式が単一の値(最初の値または** nil **)になるように強制します。 [詳細はマニュアルを参照](http://www.lua.org/manual/5.2/manual.html#3.4)。 –

4

複数のパラメータを使用するprintを使用しているため、結果が問題になるだけです。 Luaは複数の割り当てを可能にするので、通常のコードは

newstr, n = string.gsub("My string", "str", "th") 

ようになりますが、それを置く場所がある場合にカウントが提供されるのみなので、

newstr = string.gsub("My string", "str", "th") 

も結構です、カウントの原因となります捨てる。 printを直接使用している場合(同じことがreturnに適用されます)、最初の結果を除くすべてを破棄するには、かっこで囲む必要があります。