var personName = !string.IsNullOrEmpty(input.PersonName?.Trim()); var ans = await _sysMainRep.AsQueryable().WhereIF(personName, u => SqlSugar.SqlFunc.Contains(u.CreateUserName, input.PersonName))改为用正则表达式进行模糊查询
时间: 2023-12-10 15:37:24 浏览: 117
可以使用正则表达式进行模糊查询,具体实现如下:
```
// 构造正则表达式
var regex = new Regex(input.PersonName?.Trim(), RegexOptions.IgnoreCase);
// 查询并筛选结果
var ans = await _sysMainRep.AsQueryable().Where(u => regex.IsMatch(u.CreateUserName)).ToListAsync();
```
这样就可以使用正则表达式进行模糊查询了。需要注意的是,在使用正则表达式进行模糊查询时,需要对用户输入的文本进行必要的转义,以避免正则表达式的特殊字符对查询造成影响。
相关问题
<trim prefix="where" prefixOverrides="and"> p.delete_flag = 0 and p.profession = '管理人员' <if test="param.personName != null and param.personName != '' ">
</if> <if test="param.personAge != null">and p.age = #{param.personAge}</if> <if test="param.personGender != null and param.personGender != ''">and p.gender = #{param.personGender}</if> </trim>
请问这段代码是用来做什么的?
async function fetchUserList(username: string): Promise<UserValue[]> { console.log('fetching user', username); return fetch('https://oss.sciidev.cn/api/account/pu/users/clients/entps?personName='+username) .then(response => response.json()) .then(body => body.results.map( (user: { name: { first: string; last: string }; login: { username: string } }) => ({ label: `${user.name.first} ${user.name.last}`, value: user.login.username, }), ), ); }
这段代码是一个异步函数,用于从一个API接口中获取用户列表,其中的参数是用户名。函数返回一个Promise,其解析值是一个包含用户信息的数组。
在这个函数中,首先会使用console.log输出一条日志,以便在控制台中查看正在获取哪个用户的信息。
接下来,使用fetch函数发起一个GET请求,该请求会从指定的API接口中获取用户信息。然后,使用response.json()方法将响应解析为JSON格式的数据。
接着,使用Array.prototype.map()方法将用户列表中的每个用户对象转换为一个包含“label”和“value”属性的新对象。这些属性用于表示用户的姓名和用户名。
最后,Promise会被解析为一个包含转换后的用户信息的数组。如果在请求过程中发生任何错误,Promise将被拒绝并返回一个错误对象。
阅读全文