java中是如何实现基于文字标题的模糊匹配的,下面的代码是实现这个功能的吗?
privatebooleanStringCheckString(Stringkey,Stringdbkey){if(dbkey.contains(key))returnt...
private boolean StringCheckString(String key, String dbkey) {
if (dbkey.contains(key))
return true; // 第一层模糊判断
char[] key_char = key.trim().toLowerCase().toCharArray(); // 第二层精确--分隔第一个字符串,匹配所有字符到第二个字符串,
for (char c : key_char) {
if (String.valueOf(c).equals(" "))
continue; // 排除 字符串中空格因素
if (dbkey.indexOf(String.valueOf(c)) > -1)
return true;
}
return false;
}
}
做的是一个信息管理系统,有信息搜索功能,实现出来的功能就是跟百度搜索似的 比如输入“程序”两个字,点击搜索,就能显示出包含有“程序”两个字的所有标题的新闻。问的就是这个功能是怎么实现的,上面的代码就能实现这个基于文字标题的模糊匹配然后就能显示出包含有“程序”两个字的功能吗?我基础很差,代码看不懂,请具体也解释下代码每行的意思 展开
if (dbkey.contains(key))
return true; // 第一层模糊判断
char[] key_char = key.trim().toLowerCase().toCharArray(); // 第二层精确--分隔第一个字符串,匹配所有字符到第二个字符串,
for (char c : key_char) {
if (String.valueOf(c).equals(" "))
continue; // 排除 字符串中空格因素
if (dbkey.indexOf(String.valueOf(c)) > -1)
return true;
}
return false;
}
}
做的是一个信息管理系统,有信息搜索功能,实现出来的功能就是跟百度搜索似的 比如输入“程序”两个字,点击搜索,就能显示出包含有“程序”两个字的所有标题的新闻。问的就是这个功能是怎么实现的,上面的代码就能实现这个基于文字标题的模糊匹配然后就能显示出包含有“程序”两个字的功能吗?我基础很差,代码看不懂,请具体也解释下代码每行的意思 展开
3个回答
推荐于2018-04-13 · 知道合伙人互联网行家
关注
展开全部
通过正则表达式使用正则匹配可以用于实现基于文字标题的模糊匹配。
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
关于正则表达式,下面这个博客有详细的介绍:http://blog.sina.com.cn/s/blog_9cda2bc70102w02a.html
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
关于正则表达式,下面这个博客有详细的介绍:http://blog.sina.com.cn/s/blog_9cda2bc70102w02a.html
展开全部
不知道你的模糊匹配要达到什么要求。这段代码你应该也看得懂吧,所以不是很理解你的疑惑在哪?
你是想问模糊匹配的定义?这个没什么定义,你自己想模糊到什么程度就编程达到什么程度。
这段代码就是看dbkey里有没有key,或者dbkey里有没有key里的非空字符。
根据你的追问,更新:
解释这几行代码没什么难度,但是推荐你自己通过查jdk的api自己理解。
看的出来你是新手一枚。
如果是正在学习java的话,这是一次很好的锻炼机会,自己去查api,查语法书,你们应该有教材的,没有教材也有很多java语言的基础书,这几行代码没什么难点,相信你慢慢排除疑难最后肯定看得懂。刚开始学习java的话,不要随便问别人,先尝试自己解决,jdk的api以及java语法书基本上可以解决绝大部分问题。
如果学习java很久了但是还是找不到门路的也没事,还是上面说的,jdk的api+java语法书足矣,只是你的努力程度可能还不够。
如果你实在看不懂,我再给你解释吧。不过这几行真的很直白。。并且已经有相当的注释了。。
你是想问模糊匹配的定义?这个没什么定义,你自己想模糊到什么程度就编程达到什么程度。
这段代码就是看dbkey里有没有key,或者dbkey里有没有key里的非空字符。
根据你的追问,更新:
解释这几行代码没什么难度,但是推荐你自己通过查jdk的api自己理解。
看的出来你是新手一枚。
如果是正在学习java的话,这是一次很好的锻炼机会,自己去查api,查语法书,你们应该有教材的,没有教材也有很多java语言的基础书,这几行代码没什么难点,相信你慢慢排除疑难最后肯定看得懂。刚开始学习java的话,不要随便问别人,先尝试自己解决,jdk的api以及java语法书基本上可以解决绝大部分问题。
如果学习java很久了但是还是找不到门路的也没事,还是上面说的,jdk的api+java语法书足矣,只是你的努力程度可能还不够。
如果你实在看不懂,我再给你解释吧。不过这几行真的很直白。。并且已经有相当的注释了。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大哥,代码呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询