使用Lua迭代字符串以查找空格。

whiteSpace = 0
foo = "foo bar"

for i = 1, #foo do
    if (string.sub(foo, i, i) == "%") then
        whiteSpace = whiteSpace + 1
    end
end

print(whiteSpace)

我试图循环遍历每个字符,检查它是否为空白。如果字符为空白,我想将 whiteSpace 变量加 1 并在最后输出。但由于某种原因,当我执行它时,它总是返回 0,即使在 foo 字符串中明显存在空白符。

我已经尝试过使用 "%""%s""",但都没有效果。现在感到相当茫然。

点赞
用户5112122
用户5112122
# 使用循环计算空格数量
whiteSpace = 0
foo = "foo bar"

for i = 1, #foo do
    if (string.sub(foo, i, i) == " ") then
        whiteSpace = whiteSpace + 1
    end
end

print(whiteSpace)

# 使用模式匹配计算空格数量
a, whiteSpace = string.gsub("foo bar","%s","")
print(whiteSpace)
2015-07-26 04:58:01
用户3549165
用户3549165
whiteSpace = 0
foo = "foo bar"
foo = string.gsub(foo, "%s", " ")  // 将 foo 中的所有空格替换成一个空格

for i = 1, #foo do
    if (string.sub(foo, i, i) == " ") then // 如果当前字符是空格
        whiteSpace = whiteSpace + 1  // whiteSpace + 1
    end
end

print(whiteSpace)  // 输出 whiteSpace 的值
2015-07-26 05:05:50