文字列に " - "が現れる回数を数えようとしています。文字列の出現数をカウントする
だから、例えば、それはここで二回「-B-、-C」を発生
、なぜ任意のアイデアを、私は次のことを試してみましたが、それは私の4の代わりに2を与えますか?
argv='a --b --c'
count = 0
for i in string.gfind(argv, " --") do
count = count + 1
end
print(count)
文字列に " - "が現れる回数を数えようとしています。文字列の出現数をカウントする
だから、例えば、それはここで二回「-B-、-C」を発生
、なぜ任意のアイデアを、私は次のことを試してみましたが、それは私の4の代わりに2を与えますか?
argv='a --b --c'
count = 0
for i in string.gfind(argv, " --") do
count = count + 1
end
print(count)
-
文字は非欲張りの繰り返しのために使用するパターンで特別な意味を持っています。
あなたはそれをエスケープする必要があります。つまり、パターン" %-%-"
を使用してください。
あなたが実際にstring.gsub
を使用してワンライナーとしてこれを行うことができます。
local _, count = string.gsub(argv, " %-%-", "")
print(count)
なしループを必要とします!
この関数は、入力が_
変数に保存され、変数が破棄されるまでメモリに保持されるため、大きなファイルにはお勧めしません。
Lua 5.1以降では、string.gfindの代わりにstring.gmatchを使用する必要があります – Smile4ever