用 csv 中的数据检验用户的输入
例题描述和简单分析
有用户登录信息 csv 文件 userlogin.csv,如下所示:
Ccustomer1lastname,9774ASU,Customer
Ccustomer2lastname,6979ASU,Customer
mman,4234ASU,Manager
三列分别为用户名、密码、角色,需要判断传入的参数(用户名、密码、角色)是否能与 csv 中的信息匹配(不区分大小写),匹配返回 true,表示登录成功,无匹配返回 false,表示登录失败。
解法及简要说明
在集算器中编写脚本 p1.dfx,如下所示:
A | |
1 | =file("userlogin.csv").read@n() |
2 | =lower([username,password,role].concat@c()) |
3 | return A1.select@1(lower(~)==A2)!=null |
简要说明:
设三个网格参数:
1、参数名:username
2、参数名:password
3、参数名:role
A1 csv读成串序列
A2 三个参数组成的序列,用逗号拼成串,并且转为小写
A3 选出序列 A1 中符合条件(当前成员(串)转小写后等于 A2)的成员,若不为空,则说明可以匹配到,返回 true,否则返回 false
JAVA 集成这段代码的方法可参考:《Java 如何调用 SPL 脚本》。
英文版