我正在Lua制作一个简单的安卓游戏,并且在设置游戏的其中一个步骤中设置了一个由玩家输入的单词(或句子;基本上是一个字符串)。 “word”可能有空格,但我想禁止玩家输入一行中有两个或多个空格的字符串,如"fly bird"
。
我尝试使用string.match(word, " ")
,string.match(word, "%s%s")
和string.match(word, "%s+%s+")
并且没有一个工作,不知何故,最后一个总是“检测”双重空间,无论它是否有空格。
如何检测字符串中的行中是否有多个空格? (只是检测,而不是替换,所以我可以向播放器发送警告信息。)
答案 0 :(得分:3)
If its exactly two spaces you are interested in, simply use find
word:find(' ')
It will return range of first occurrence of two consecutive spaces.
答案 1 :(得分:0)
input = input:gsub("%s+", " ")
上面的代码应该接受输入并删除所有过多的间距,并用一个空格替换它。