/**
* 解析请求的字符串数组
* @param packNo 请求的字符串 如:12,13,15,666
* @return
*/
private List<String> getRequestParam(String packNo) {
List<String> list = new ArrayList<>();
// 统一转换为英文分隔符数组
String[] packNos = packNo.trim().replace(',', ',').split(",");
for (String materialId : packNos) {
list.add(materialId);
}
// 去除重复数据,控制分段查询的结果
List<String> collect = list.stream().distinct().collect(Collectors.toList());
return collect;
}
/**
* 校验请求参数合法性
* @param str 需要校验的字符串
* @return
*/
private boolean checkRequestParam(String str) {
// 只能数字开头、不能逗号开头、中间支持多个逗号、最后支持多个逗号、不区分中英文逗号分隔。例:111,222,,55,,,
// String regLoose = "(\\d)+(,|,|\\d+)*";
// 只能数字开头、不能逗号开头、中间不支持多个逗号、最后不支持多个逗号(最后可以是逗号)、不区分中英文逗号分隔。例:111,222,
String regRigorous = "(\\d+(\\,|\\,?))+";
return Pattern.matches(regRigorous, str);
}
/**
* 校验getTaskAndBoxInfo请求参数合法性
* @param str 需要校验的字符串
* @return
*/
private boolean checkTaskRequestParam(String str) {
// 只能字母或者数字开头,中间不能多个逗号,最后不能多个逗号。如:C999,B999,
String regRigorous = "((\\d+|[a-zA-Z0-9]+)(\\,|\\,?))+";
return Pattern.matches(regRigorous, str);
}
String字符串切割数组 逗号 数字 数组
最新推荐文章于 2024-09-12 15:28:17 发布