大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
import java.util.ArrayList;
创新互联建站服务项目包括北辰网站建设、北辰网站制作、北辰网页制作以及北辰网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,北辰网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到北辰省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
import java.util.Iterator;
import java.util.List;
public class TestDemo {
public static void main(String[] args) {
ListString aList=new ArrayListString();
aList.add("abc12de34");
aList.add("abc02de02");
String regex="^[a-zA-Z]{3}02[a-zA-Z]{2}02$";
IteratorString it =aList.iterator();
while(it.hasNext()){
String str=it.next();
System.out.println(str+"==");
if(str.matches(regex)){
System.out.println(str);
}
}
}
}
你这个把四个字拆开单独找不就完了= =
所谓的模糊查找最多也就像sql里面的like
计算机本身就是精确的。你要模糊就要加入人为判断这是毋庸置疑的。
可以使用正则表达式实现, 可以字符串本身的方法实现,请看示例:
import java.util.regex.Pattern;
/**
* @author Arvin
* @time 2016/11/8 21:38
*/
public class Main {
public static void main(String[] args) {
String keyword = ".(你好)";
String contentOne = "hello .(你好)asd"; // LIKE 匹配
String contentTwo = "你好"; // LIKE 不匹配
// 方法一: 利用正则表达式
// 构造正则表达式
Pattern regex = Pattern.compile(keyword);
System.out.println(regex.matcher(contentOne).find()); // true
System.out.println(regex.matcher(contentTwo).find()); // false
// 方法二:利用String的contain方法
System.out.println(contentOne.contains(keyword)); // true
System.out.println(contentTwo.contains(keyword)); // false
// 方法三:利用indexOf方法, 找得到说明包含
System.out.println(contentOne.indexOf(keyword) -1); // true
System.out.println(contentTwo.indexOf(keyword) -1); // false
}
}
你好,很高兴回答你的问题。
问题的原因是拼接模糊查询条件是有问题。仔细看下图红线标识的位置,在百分号两边各加了一个单引号。这个是不需要的。
如果参数是通过setString方法赋值的,则在最终执行的sql时会自动拼接单引号的。这里加上单引号反而是错误的了。
如果有帮助到你,请点击采纳。
我解答的大部分是软件开发新人遇到的问题,如果有兴趣可以关注我。