模糊搜索是社交平台、电商平台、搜索引擎等平台的常见功能。
写这篇文章之前有两个问题:
问题一:把“北京大学”输入学校库,怎样才能搜索到“北京大学”?
问题2 :把“北京大学”输入学校库,怎样才能搜索到“北京大学”“北京交通大学”“北京理工大学”“北京工业大学”“北京航空航天大学”等?
这两个问题的关键词都是“北京大学”,之间有空间,但这样的搜索问题可以用数据库语言实现,也可以由服务器端处理。
使用SqlServer :问题1 :
selectschool _ name fromt _ schoolwhereschool _ name=replace (school _ name,','''); 问题2 :
select * fromt _ schoolwhereschool _ name like '北京' [^ ] '大学' select * fromt _ schoolwhereschool _ name like '北京%大学'由jj
String str='北京大学';
(1)删除包括首尾、中间在内的所有空格
String str=str.replaceAll (',' ); system.out.println(str: ) str; 注: str.trim ()只能删除前导空格和尾随空格
(2)利用正则,一致置换包括首尾、中间在内的所有空格
String str=str.replaceAll (',' ); system.out.println(str: ) str; )3)利用正则表达式,匹配包含首尾、中间的所有空白字符(不限于空格) (可以与空格、制表符、分页符等空白字符中的任意一个匹配) ) ) ) ) )。
stringstr=str.replaceall('s* ',' ); system.out.println(str: ) str; 问题2 :
String str='北京大学'; string[]a=str.split('s ' ); String[] aa=new String[]{ '北京交通大学','北京理工大学','北京工业大学','北京航空航天大学','上海北京大学' }; (1)使用正则
pattern regex=pattern.com pile (' ^ ' a [0] '.* ' a [1] ' $ ' ); for(intI=0; iaa.length; I ) system.out.println (regex.matcher ) aa[I].find ); (2)字符串的携带方法
for(intI=0; iaa.length; I () if ) aa[I].startswith ) a[0] ) aa[I].endswith ) a[1] ) system.out.println ) aa[I]; }原文作者技术博客: https://www.Jian Shu.com/u/a C4 daaeecdfe
95后前端妹妹一张,爱阅读,爱交友,把工作中遇到的问题记录在这里,希望能给看到的所有你带来哪怕一点帮助。
欢迎留言交流。