Lua为空格迭代字符串

时间:2015-07-26 04:39:47

标签: string lua whitespace

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变量并在结尾输出它。但由于某种原因,当我执行它时,它总是返回0,即使foo字符串中有明显的空格。

我已使用"%""%s"""但无济于事。现在很无能为力。

2 个答案:

答案 0 :(得分:3)

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)

答案 1 :(得分:1)

whiteSpace = 0
foo = "foo bar"
foo = string.gsub(foo, "%s", " ")

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

print(whiteSpace)