检查包含从表格中获取的项目的字符串
2015-1-27 23:42:30
收藏:0
阅读:70
评论:2
如果 FirstName:GetValue() 等于""或者 table.HasValue( Blocked, string.lower(FirstName:GetValue())),那么检查名字是否包含任何“坏”单词,或者没有输入任何东西。此时 FirstNameCHECK 为 false, text4 显示“Bad Name”,颜色为红色。否则,FirstNameCHECK 为 true, text4 显示“Good Name”,颜色为绿色。
该代码目前检查字符串是否与表中的条目完全相同。如何更改代码以便检查插入的字符串(FirstName 变量)是否包含表中的条目之一?
点赞
用户4261756
在另一个问题中解决了这种情况的解决方案(适用于多维表)- Loop until find 2 specific values in a table?
函数MultiTableSearch(输入,值,大小写,索引检查)
if(input and type(input)== 'table')then
if(type(value)== 'table' and value == input)then
return true;
结束
对于键,对象中的对象进行循环 do
如果(index_check)then
如果(大小写和类型输入 =='string'和类型键 =='string')then
如果(value:lower()==键:lower())then - 避免退出循环
返回真;
结束
否则
如果(键==值)then
返回真
elseif(type(object)== 'table')then
返回MultiTableSearch(object,value,case,index_check)
结束
结束
否则
如果(case和type(value)=='string'和type(object)=='string') then
如果(value:lower()== object:lower())then
返回真;
结束
elseif(type(object)=='table')then
如果(value == object)then
返回真;
else
返回MultiTableSearch(object,value,case)
结束
否则
如果(对象==值)then
返回真;
结束
结束
结束
结束
结束
返回false;
结束
使用调用此
MultiTableSearch(blocked,FirstName:GetValue(),true) - 表,名称,案例(真正忽略情况)
2015-01-29 17:02:42
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
一个低效的解决方案是遍历表格并在每个元素上调用
string.find。这种方法对于非常大的表格可能会变得相当慢,因为你必须检查每个元素,但是除非你正在处理真正的大型数据集,否则这种方法可能完全没问题。更聪明的方法是使用由子字符串索引的嵌套表格。例如,你可以有一个根索引为
a到z的表格。你使用你的单词的第一个字母作为索引进入该表格,然后你会得到另一个相同结构的表格。这个表格使用第二个字母作为索引,直到你要么没有找到正在检查的字母的表格,要么到达了单词的末尾。在后一种情况下,你可能需要在该表格中添加一个额外的唯一条目,用来说明你要查找的单词是否在表格中(因为没有更多的字母,你需要以某种方式进行检查)。这种方法有几个缺点。建立表格可能在内存上非常密集,而且执行检查可能比对较小的表格的天真方法慢得多。此外,操作查找表格并不那么直接(例如,考虑从中删除单词)。因此,这种结构仅在执行查找时真正有用,你应该在其他任务中使用普通表格。
例如,你可能想在查找表格中维护一个对真实数据表中条目的引用列表,这样你可以从特定的前缀字符串中获取所有匹配的数据表中的条目。