请问有人知道GOOGLE搜索的反显技术是怎么做的。 比如搜索Made in China他会把Made,in,China,made,MADE,IN,china,CHINA都会显红,他的替换是怎么做的。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 怎么实现像GOOGLE,BAIDU的关键字反显功能 正则表达式,替换。比如,在显示的时候吧made 替换为<b>made</b> 比如我输入了关键字F f第一次替换得到<font color=red>F</font>第二次替换就变成<<font color=red>f</font>ont color=red>F</<font color=red>f</font>ont> 另外,我如果输入关键字 in China原始串如果是这样的Made in China第一次替换得到Made <font color=red>in</font> Ch<font color=red>in</font>a第二次替换就找不到关键字China 说说我的思路比如有批关键字需要高亮,1。先对这些关键字进行排序,长的字串先进行替换2。查找这些关键字在原始串中的位置pos(start,end);3。判断这个位置是不是有连续的,如果有连续的话,就把这些位置连起来 如第一个位置是pos1(1,5);第二个位置pos2(3,6);那么直接得到位置pos3(1,6);4。从原始字串的尾部开始扫描。如碰到pos,就在这个位置打上高亮,如<font color=red></font>请问大家还有别的方法。或者是否有比俺想得更好的方法。 首先,你匹配字符串当然不是逐字匹配。当然是有分隔符的,比如查in,你不能把china中的in给匹配了把。因为有分隔符\\s+这个问题有多难?java版本的搜索引擎我也做过。 你说的那个排序,不是我想的太简单,是你对正则了解太少 String str = "xxxchinaxxx"; String str2 = str.replaceAll("in|china","000"); String str3 = str.replaceAll("china|in","000");上面的str2,str3,你认为会是多少呢?答案都是: xxx000xxx已经匹配了china,而不是其中的inso ez的东西.... 呵呵楼上用上人家做好的东西当然简单了。。replaceAll Eclipse中JDK不兼容异常 eWebEditor在MyEclipse里 如何配置? jsp问题 跪求高手,怎么实现定时的往数据库里存储数据啊?? 高手过来看看 web手机短信平台的开发 在JavaScript里面怎么获取session里面的变量的值? jsp页面播放声音的问题??????? 关于javabean封装数据库操作的问题! 为何不能执行SQL语句中的count(*) 如何运行JSP程序?(新手) 哪有jspsmartupload控件的下载啊?后天交毕业设计了! 关于一个简单的链接传值的问题
F f第一次替换得到<font color=red>F</font>
第二次替换就变成<<font color=red>f</font>ont color=red>F</<font color=red>f</font>ont>
第一次替换得到Made <font color=red>in</font> Ch<font color=red>in</font>a
第二次替换就找不到关键字China
比如有批关键字需要高亮,
1。先对这些关键字进行排序,长的字串先进行替换
2。查找这些关键字在原始串中的位置pos(start,end);
3。判断这个位置是不是有连续的,如果有连续的话,就把这些位置连起来
如第一个位置是pos1(1,5);第二个位置pos2(3,6);那么直接得到位置pos3(1,6);
4。从原始字串的尾部开始扫描。如碰到pos,就在这个位置打上高亮,如<font color=red></font>请问大家还有别的方法。或者是否有比俺想得更好的方法。
当然是有分隔符的,
比如查in,你不能把china中的in给匹配了把。
因为有分隔符\\s+这个问题有多难?java版本的搜索引擎我也做过。
不是我想的太简单,是你对正则了解太少 String str = "xxxchinaxxx";
String str2 = str.replaceAll("in|china","000");
String str3 = str.replaceAll("china|in","000");上面的str2,str3,你认为会是多少呢?
答案都是: xxx000xxx
已经匹配了china,而不是其中的inso ez的东西....