如何在字符串中检测“过多的空格”?

我正在用Lua制作一款简单的Android游戏,在其中一个步骤中,要求玩家输入一个单词(或句子;基本上是一个字符串)。这个“单词”可能有空格,但我希望禁止玩家连续输入两个或两个以上的空格字符串,例如“ fly bird”。

我试过使用 string.match(word, " ")string.match(word, "%s%s")string.match(word, "%s+%s+"),但它们都没有工作,而且不知何故,最后一个总是“检测”到双倍空格,无论它是否有空格。

我该怎么办才能检测字符串中是否有多个空格?(只是检测,不是替换,所以我可以向玩家发送警告消息。)

点赞
用户5016443
用户5016443

如果您只对两个空格感兴趣,只需使用 find

word:find('  ')

它将返回第一次连续出现两个空格的范围。

2015-06-30 13:27:21
用户3979429
用户3979429

上面的代码应该接受输入并删除所有多余的空格并用一个空格替换它。

input = input:gsub("%s+", " ")
2015-07-03 18:34:14