gpt4 book ai didi

input - 将字符输入限制为特定字符

转载 作者:行者123 更新时间:2023-12-01 05:07:41 24 4
gpt4 key购买 nike

我正在制作一个完整的加减程序,作为一个不错的简单项目。我很想知道的一件事是,是否有办法将输入限制为某些字符(例如,二进制输入为 1 和 0,加法或减法输入为 A 和 B)。我总是可以用空字符串替换所有不是这些字符的字符来摆脱它们,但是这样做很乏味。

最佳答案

下面是一些简单的代码,用于从用户输入中过滤掉指定的字符:

local filter = "10abAB"
local input = io.read()
input = input:gsub("[^" .. filter .. "]", "")
filter 变量只是设置为您希望在用户输入中允许的任何字符。例如,如果要允许 c,请添加 c: local filter = "10abcABC"

虽然我假设您从 io.read() 获得输入,但您可能从其他地方获得它,因此您可以将 io.read() 替换为您需要的任何内容。

我的示例中的第三行代码实际上是过滤掉文本的内容。它使用 string:gsub 来做到这一点,这意味着它也可以这样写:
input = string.gsub(input, "[^" .. filter .. "]", "").

像这样写的好处是很明显输入是一个字符串。

gsub 模式是 [^10abAB] ,这意味着不属于该模式的任何字符都将被过滤掉,因为它们之前的 ^ 和替换模式,这是方法调用中的最后一个参数的空字符串。

您可能不应该使用的额外超短单线:
local input = io.read():gsub("[^10abAB]", "")

关于input - 将字符输入限制为特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27321103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com