【发布时间】:2021-07-21 16:12:46
【问题描述】:
请问如何使用 LUA 将特定字符的出现次数统计到字符串中?
我这里举个例子
让字符串:“my|fisrt|string|hello”
我想计算字符“|”出现了多少次有字符串。 在这种情况下,它应该返回 3
请问我该怎么做?
【问题讨论】:
标签: lua
请问如何使用 LUA 将特定字符的出现次数统计到字符串中?
我这里举个例子
让字符串:“my|fisrt|string|hello”
我想计算字符“|”出现了多少次有字符串。 在这种情况下,它应该返回 3
请问我该怎么做?
【问题讨论】:
标签: lua
gsub返回第二个值中的操作次数
local s = "my|fisrt|string|hello"
local _, c = s:gsub("|","")
print(c) -- 3
【讨论】:
最简单的解决办法就是一个字一个字地计算:
local count = 0
local string = "my|fisrt|string|hello"
for i=1, #string do
if string:sub(i, i) == "|" then
count = count + 1
end
end
或者,计算你的角色的所有匹配项:
local count = 0
local string = "my|fisrt|string|hello"
for i in string:gmatch("|") do
count = count + 1
end
【讨论】:
gsub 而不是 gmatch 发布答案(增加回调中的计数器),但你打败了我,所以...接受我的投票。跨度>
gmatch 中犯了一个小错误。我认为它会被字符分割而不是匹配字符,所以我的计数被取消了。很快抓住它并幸运地修复了它