我正在尝试计算字符串中出现" - "的次数.
例如,它在这里出现两次'a --b --c'
我试过以下,但它给了我4而不是2,任何想法为什么?
argv='a --b --c'
count = 0
for i in string.gfind(argv, " --") do
count = count + 1
end
print(count)
Run Code Online (Sandbox Code Playgroud)
Mik*_*ran 24
您实际上可以使用string.gsub以下方式执行此操作:
local _, count = string.gsub(argv, " %-%-", "")
print(count)
Run Code Online (Sandbox Code Playgroud)
不需要循环!
不建议用于大输入,因为该函数将处理后的输入返回给_变量,并将保留在内存中,直到变量被销毁.
小智 7
根据Mike Corcoran的回应和WD40的优化建议,此片段可能会有所帮助
function count(base, pattern)
return select(2, string.gsub(base, pattern, ""))
end
print(count('Hello World', 'l'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10508 次 |
| 最近记录: |